Объедините условия $ и и $ или в запросе MongoDB, где документ содержит внедренные документы - PullRequest
0 голосов
/ 04 ноября 2018

У меня есть коллекция с большим количеством документов;

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 голосов
/ 04 ноября 2018

Может быть упрощено до

{
  $or: [
    { age: { $lt: 37, $gte: 30 } },
    { "company.localtion.country": "Italy" }
  ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...