에 나는 일치 필드 내부적으로 MongoDB를
{
"_id" : ObjectId("517b88decd483543a8bdd95b"),
"studentId" : 23,
"students" : [
{
"id" : 23,
"class" : "a"
},
{
"id" : 55,
"class" : "b"
}
]
}
{
"_id" : ObjectId("517b9d05254e385a07fc4e71"),
"studentId" : 55,
"students" : [
{
"id" : 33,
"class" : "c"
}
]
}
Note:
하지 실제 데이터 만 스키마가 정확히 같은 인 MongoDB를
Requirement:
단일 쿼리를 사용하여 학생들 배열 내부의 studentId
및 students.id
(ID와 일치하는 문서를 찾기.
나는
db.data.aggregate({$match:{"students.id":"$studentId"}},{$group:{_id:"$student"}});
Result:
빈 배열 아래, 만약 같은 코드를 시도 전 { "students.id": "$ studentId"}를 { "students.id": 33}으로 대체하면 위의 json에서 두 번째 문서가 반환됩니다.
단일 쿼리를 사용하여이 시나리오에 대한 문서를 가져올 수 있습니까? 불행하게도 그것은 불가능
잘 작동합니다. 설명해 주셔서 감사합니다. +1 – karthick