본문 바로가기
Database/NoSQL

[MongoDB] 실전 쿼리 작성2

by lumination 2025. 6. 17.
[
 
   // 특정 필드만 include, exclude
   {$project: {
      title : 1,
      _id : 0 // _id는 자동 생성되는데 쓰고 싶지 않으면 0으로 추가
   }},


   // 특정 필드만 include, exclude
   // 유지보수 가독성이 떨어짐. 좋은 형태는 아님 (프로시저 유사)
   // 쿼리를 가져와서 클라이언트 레벨에서 처리하는 것이 좋음
   {$project: {
     title : 1,
     year : 1,
     genres : 1,
     first_genre :{$arrayElemAt : ["$genres", 0]},
     imdb : 1,
     imdb_score : {
       $cond : [ // 특정 값이 크다면 Excellect로 가져오고 작다면 Normal
         {$gte : ["$imdb.rating", 8]},
         "Excellent",
         "Normal"
       ]
     }
   }},

   // imdb_score가 Excellent 조회
   {$match: {
     imdb_score: "Excellent"
   }}


   ---------------------
   // 조회 결과에 임시 필드를 추가함. 실제 도큐먼트에는 반영되지 않음.
   // 특수한 상황이 아니라면 사용하지 않음.
   {$addFields: {
     test: "Welcome"
   }}
  
]

'Database > NoSQL' 카테고리의 다른 글

[MongoDB] Aggregation Pipeline 동작 방식  (0) 2025.06.17
[MongoDB] 실전 쿼리 작성  (0) 2025.06.16
[MongoDB] 데이터 파이프라인과 Lookup  (0) 2025.06.16
[MongoDB] Cursor  (0) 2025.06.16
[MongoDB] 정렬과 페이징  (0) 2025.06.16