[MONGODB] $ 조회 집계 필드를 제외
MONGODB$ 조회 집계 필드를 제외
나는 출력 도처에 _id 제외 할 3 명 컬렉션을 사이에 질의하고
내 출력은 다음과 같습니다
{
"_id" : ObjectId("5b6aed5f9bcdb5d4ae64aef5"),
"userID" : "1",
"skills" : [
{
"_id" : ObjectId("5b766b5f1365a4940bb6050f"),
"skillID" : "javaid",
"skillname" : "जावा",
"languageID" : "hindiid"
},
{
"_id" : ObjectId("5b766b8c1365a4940bb60535"),
"skillID" : "pythonid",
"skillname" : "पायथन",
"languageID" : "hindiid"
}
],
"gender" : {
"_id" : ObjectId("5b7687cd2a2329043e2383d5"),
"genderID" : "femaleid",
"gendername" : "महिला",
"languageID" : "hindiid"
}
}
질문:
db.User.aggregate([
{ "$match": { "userID":"1" }},
{ "$lookup":{
"from": "Skill",
"pipeline": [
{ "$match": { "languageID": "hindiid", "skillID": { "$in": [ "javaid","pythonid" ] }}},
],
"as": "skills"
}},
{ "$lookup": {
"from": "Gender",
"pipeline": [
{ "$match": { "languageID": "hindiid", "genderID" : "femaleid" }},
],
"as": "gender"
}},
{ "$unwind": { "path": "$gender", "preserveNullAndEmptyArrays": true }},
{ "$project": { "userID": 1, "skills": 1, "gender": 1 }}
])
모든 개체의 출력에서 내가 원하는 모든 곳 _id 필드를 제외 모든 개체가 _id이 기술 목록은 _id.Example 있습니다. 어떻게 제외 할 수 있습니까?
해결법
-
==============================
1.MongoDB를 3.6에서 당신은 $ 조회 파이프 라인 내부에 돌기 ($ 프로젝트)를 사용할 수 있습니다 ... 이런 식으로 뭔가를
MongoDB를 3.6에서 당신은 $ 조회 파이프 라인 내부에 돌기 ($ 프로젝트)를 사용할 수 있습니다 ... 이런 식으로 뭔가를
db.User.aggregate([ { "$match": { "userID":"1" }}, { "$lookup":{ "from": "Skill", "pipeline": [ { "$match": { "languageID": "hindiid", "skillID": { "$in": [ "javaid","pythonid" ] }}}, { "$project": { "_id": 0 }} ], "as": "skills" }} ])
from https://stackoverflow.com/questions/51950121/exclude-fields-in-lookup-aggregation by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 필드가 문자열을 포함하는 경우 확인 (0) | 2019.12.07 |
---|---|
[MONGODB] MongoDB를 집계 파이프 라인 느린 첫 경기의 단계 이후 (0) | 2019.12.07 |
[MONGODB] 데이터베이스를 따기 후 인증합니다 (0) | 2019.12.07 |
[MONGODB] 모든 문서의 배열의 단지 중첩 된 문서를 반환하는 방법 (0) | 2019.12.07 |
[MONGODB] 통합 후 원본 문서 등을 다시 얻는 방법 (0) | 2019.12.07 |