Trong trường hợp như thế này khi bạn muốn các tài liệu bao gồm một tập hợp các phần tử mảng cụ thể, bạn có thể sử dụng $all
nhà điều hành:
db.MyCollection.find(
{
Location: { "$within": { "$center": [ [1, 1], 5 ] } },
Properties: {
$all: [
{$elemMatch: { Type: 1, Value: "a" }},
{$elemMatch: { Type: 2, Value: "b" }}
]
}
})
Để làm điều đó mà không có $all
toán tử bạn có thể sử dụng:
db.MyCollection.find(
{
Location: { "$within": { "$center": [ [1, 1], 5 ] } },
$and: [
{ Properties: {
$elemMatch: { Type: 1, Value: "a" }
}},
{ Properties: {
$elemMatch: { Type: 2, Value: "b" }
}}
]
})