当查找过滤器默认为AND时,$ elemMatch有什么好处

时间:2016-08-15 18:36:57

标签: mongodb mongodb-query

学习MongoDB for node.js

数组运算符下的第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 revenue: { $gt: 15 },带有以下查询:

db.movieDetails.find({
    boxOffice: {
        country: "UK",
        revenue: {
            $gt: 15
        }
    }
})

其中一位专家说这是错误的方式。

  

默认情况下,当找到过滤器 AND 时,$elemMatch有什么好处?

0 个答案:

没有答案