在数组运算符下的第2周的章节中,这里是boxOffice
数组:
boxOffice: [{
"country": "USA",
"revenue": 41.3
}, {
"country": "Australia",
"revenue": 2.9
}, {
"country": "UK",
"revenue": 10.1
}, {
"country": "Germany",
"revenue": 4.3
}, {
"country": "France",
"revenue": 3.5
}]
以下是英国
获得大于15的收入的查询db.movieDetails.find({
boxOffice: {
$elemMatch: {
country: "UK",
revenue: {
$gt: 15
}
}
}
})
这里的混淆是,MongoDB查找查询默认情况下查询过滤器是 AND ,这应该返回满足country: "UK"
AND 的要求的文档strong> revenue: { $gt: 15 }
,带有以下查询:
db.movieDetails.find({
boxOffice: {
country: "UK",
revenue: {
$gt: 15
}
}
})
其中一位专家说这是错误的方式。
默认情况下,当找到过滤器 AND 时,
$elemMatch
有什么好处?