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"
}}
]