분류 전체보기182 [MongoDB Aggregation] 5. 주요 accumulator(2) - $min과 $max 사용하여 최솟값과 최댓값 찾기 반갑습니다! 이번 포스트에서는 $min과 $max를 살펴보겠습니다 샘플 코드에 대한 콘솔 출력 결과입니다 ^^$min과 $max를 동시에 수행하였습니다 먼저 stage1에서 $group 작업을 수행하였는데,기존 도큐먼트의 year 필드의 값을 기준으로 그룹화를 하였습니다그리고 imdb 필드의 값인 배열 타입의 데이터 중 rating 정보를 이용하였는데요 각 연도별로 개봉 영화들의 수가 상이할 것입니다 각 연도별 개봉 영화들 중에서 평점이 가장 적은 점수는 몇 점이고,평점이 가장 높은 점수는 몇 점일까요? 이 질문에 대한 조회 명령과 결과가 상기 캡쳐 이미지의 의미가 되겠습니다 ^^ 콘솔창에 출력된 조회 결과를 보면 연도가 정렬이 안 되어 있는 것을 볼 수 있는데요나중에 $sort에 대해서 살펴볼 예.. 2024. 8. 20. [MongoDB Aggregation] 4. 주요 accumulator(1) - $sum과 $avg 사용하여 합계과 평균 계산하기 반갑습니다! 이번 포스트에서는 주요 누산식(accumulator) 중 하나인$sum과 $avg에 대해서 알아보겠습니다 1. 값을 누적하여 합계 계산 : $sum 누산식들은 보통 $group 작업과 많이 사용됩니다 ^^샘플 코드를 살펴보면 stage1에 해당하는 작업으로 먼저 그룹화가 진행되었는데요_id 필드로 기준 삼을 컬럼은 year 컬럼이 되겠습니다 그럼 해당 영화들의 개봉 연도별로 그룹화가 진행되어 집계되는데요각 연도별로 개봉한 영화의 합이 어떻게 되는지에 대해서 totalMovies라는 이름의 컬럼을 만들어서$sum 키워드를 이용한 합계값을 매핑하는 명령어 구조가 되겠습니다 ^^ 해서 콘솔에 출력된 결과를 보면 _id 컬럼에는 영화의 개봉 연도 정보인 year의 값들이,그룹화 후 새로 만든 컬.. 2024. 8. 20. [MongoDB Aggregation] 3. Aggregation의 $match와 $group 알아보기 반갑습니다! 저번 포스트에서 sample_mflix 데이터를 Import 했는데요 ^^해당 데이터베이스에는 여러 영화와 관련된 정보가 포함되어 있습니다영화 정보, 배우, 감독, 영화 리뷰 등에 대한 내용들인데요 ^^ 그 중에서 실습에서 주요하게 사용할 컬렉션과 필드의 의미는 다음과 같습니다 1. movies 컬렉션①_id : 각 영화의 고유 식별 ID값②title : 영화의 제목③plot : 영화의 줄거리④genres : 영화의 장르(ex 액션, 코미디 등)⑤runtime : 영화의 상영 시간(분 단위)⑥cast : 영화 출연 배우⑦directors : 영화 감독⑧year : 영화가 개봉한 년도 2. comments 컬렉션①_id : 각 댓글의 고유 식별자②name : 댓글을 남긴 사용자의 이름③em.. 2024. 8. 20. [MongoDB Aggregation] 2. MongoDB의 Aggregation 실습 전 준비사항 반갑습니다! 이번에는 실습을 위해서 특정 데이터를 Import 해보겠습니다 MongoDB의 Aggregation 프레임워크를 실습할 때 사용할 샘플 데이터입니다 ^^이 데이터는 MongoDB에서 기본적으로 제공해주는 데이터인데요Atlas를 이용할 때에도 처음 클러스터를 생성하면 해당 데이터베이스에약 130MB 분량의 sample_mfilx 데이터가 들어가있습니다 ^^ 우선 사용할 Connection 이름에 마우스 포인터를 올려두고 오른클릭을 해서추가 메뉴를 조회해주세요 ^^ 추가 메뉴 중 Import를 선택해주시면 되겠습니다!데이터를 추가할 때 대량의 데이터를 손쉽게 한 번에 삽입할 수 있습니다 ^^ Default로 JSON에 체크가 되어 있을겁니다우리는 Folder 형태로 데이터를 넣을 .. 2024. 8. 20. [MongoDB Aggregation] 1. MongoDB의 Aggregation 프레임워크 이해하기 반갑습니다! 이번 포스트부터는 MongoDB의 Aggregation 프레임워크에 대해 살펴보도록 하겠습니다 ^^ 1. Aggregation 프레임워크기존의 find()로도 많은 정보들을 조건 조회할 수 있었지만,find()만으로는 원하는 데이터로 가공하는데에 어려움이 있습니다빅데이터를 다루려면 새로운 데이터 가공 방식이 필요한데요 이를 위해서 MongoDB에서는 Aggregation Framework(집계 프레임워크)를 제공합니다 ^^MongoDB의 Aggregation Framework는 파이프라인(Pipeline) 개념을 모델로 합니다파이프 라인이란, 이전 단계의 연산 결과를 다음 단계의 연산에 이용하는 것을 의미합니다!Unix의 pipe와 같은 방식으로 데이터를 처리하는 방식인데요 ^^Docu.. 2024. 8. 20. [MongoDB 실습문제] 2. 기본 CRUD 관련 실습문제(2) 반갑습니다! 저번 포스트에 이어서 기본 CRUD 관련 실습문제 파트2입니다 ^^ 6. users 컬렉션에서 age 필드의 값이 50이고 address 필드의 값이 "경기도"인도큐먼트의 name 컬럼만 출력하시오 7. users 컬렉션에서 age 필드의 값이 30 이하인도큐먼트의 name과 age 컬럼을 출력하시오 8. users 컬렉션에서 name이 Brown이거나 age가 35인도큐먼트의 모든 컬럼을 출력하시오 9. users 컬렉션에서 age가 40을 초과하는도큐먼트의 address 값을 수원시로 수정하시오 10. users 컬렉션에서 age 값이 30 미만인 도큐먼트를 모두 삭제하시오 2024. 8. 20. 이전 1 2 3 4 ··· 31 다음