0
는 MongoDB를 내 사용자 컬렉션에서 다음과 같은 문서가 있다고 가정 :MongoDB의 컬렉션에 (모든 다른 사람을 포함해야 함) 공통 속성에 추가하여 중첩 된 배열 요소에서 (기준에 따라) 특정 값을 검색
{
_id: 1,
zipcode: "63109",
students: [
{ name: "john", school: 102, age: 10 },
{ name: "jess", school: 102, age: 11 },
{ name: "jeff", school: 108, age: 15 }
]
}
{
_id: 2,
zipcode: "63110",
students: [
{ name: "ajax", school: 100, age: 7 },
{ name: "achilles", school: 100, age: 8 },
]
}
{
_id: 3,
zipcode: "63109",
students: [
{ name: "ajax", school: 100, age: 7 },
{ name: "achilles", school: 100, age: 8 },
]
}
{
_id: 4,
zipcode: "63109",
students: [
{ name: "barney", school: 102, age: 7 },
{ name: "ruth", school: 102, age: 16 },
]
}
마 질의 :
db.user.find({ "students.name": "barney" }, { students: { $elemMatch: { name: "barney" } } })
반환 다음
{
"_id" : "2",
"students" : [
{
"name" : "ajax",
"school" : "100",
"age": "7"
}
]
},
{
"_id" : "3",
"students" : [
{
"name" : "ajax",
"school" : "100",
"age": "7"
}
]
}
하지만 t 필요 o 이름 ("ajax")을 기반으로 중첩 배열 요소 ("학생")를 필터링하고 각 문서에있는 다른 모든 속성도 포함합니다. 예를 들어
, 나는 "우편 번호"같은 일반적인 속성을 포함하는 내 결과를 기대하고 너무 아래와 같이{
"_id" : "2",
"zipcode": "63110",
"students" : [
{
"name" : "ajax",
"school" : "100",
"age": "7"
}
]
},
{
"zipcode": "63109",
"_id" : "3",
"students" : [
{
"name" : "ajax",
"school" : "100",
"age": "7"
}
]
}
나는이 어떻게 할 수
?
효과가있었습니다. 감사 :) – saikumarb23