在文档已嵌入文档的MongoDB查询中组合$ and和$ or条件

时间:2018-11-04 07:03:42

标签: mongodb mongodb-query

我有一个包含很多文档的收藏集;

enter image description here

我想返回所有个人(年龄超过30岁且小于37岁)或居住在意大利的所有文件。

我的尝试

db.getCollection('persons')
                          .find(                                
                                    $or:[
                                            {$and: [
                                                        {age:{$gte:30}},
                                                        {age:{$lt:37}}
                                                   ],
                                            {"company.location.country": "Italy"}
                                       ]
                                )

哪个会产生错误

enter image description here

1 个答案:

答案 0 :(得分:1)

它可以简化为

{
  $or: [
    { age: { $lt: 37, $gte: 30 } },
    { "company.localtion.country": "Italy" }
  ]
}