은 가정하자이 같은 모음이 있습니다몽고 쿼리
{ "arr" : [ { "name" : "a", "num" : 1 }, { "name" : "a", "num" : 2 } ] },
{ "arr" : [ { "name" : "b", "num" : 1 }, { "name" : "a", "num" : 2 } ] },
{ "arr" : [ { "name" : "b", "num" : 1 }, { "name" : "b", "num" : 2 } ] }
을 내가 arr
있어 모든 문서 찾으려는 name
= "B"와 num
와 하위 문서를 포함 = 2
나는이 같은 쿼리 할 경우 그들은 각각 스와 포함되어 있기 때문에
db.collection.find({
$and: [
{ "arr.name": "b" },
{ "arr.num": 2 }
]
});
이 컬렉션에있는 모든 문서를 반환됩니다 와 B-문서 중 하나 "B"의 name
또는 나는 또한이 시도했습니다 2.
의 num
: 오류가 발생하지 않습니다
db.collection.find({
arr: [
{ "name": "b", "num": 2 }
]
});
는, 아직 결과를 반환하지 않습니다 .
MongoDB의 여러 하위 문서 필드를 어떻게 쿼리합니까?
매우 유용하고 완전한 대답입니다. 두 번 upvote 할 수없는 것에 유감입니다. 네일 고마워! – Moppo