Имея документ в коллекции test
следующим образом:MongoDB запроса вложенных полей документа одновременно
{a:2, list:[{lang:"en", value:"Mother"}, {lang:"de", value:"Mutter"}] }
Когда я запрашиваю:
db.test.find({"list.lang":"de", "list.value": "Mother" })
Я ожидаю получить ничего, но по причине того, что существует документ 2 вложенных записей, которые удовлетворяют общему состоянию MongoDB разрешает {a:2}
Как исправить запрос для извлечения только документов, где оба внутренних f ields одновременно удовлетворяет заданному условию?
Я могу думать о запросе, который использует '$ all' как' db.test.find ({ "список": { "$ all": [{"lang": "de", "value": "Mother"}] } }) ' – chridam
Что относительно [$ elemMatch]/reference/operator/query/elemMatch /) 'db.test.find ({" list ": {" $ elemMatc h ": {" lang ":" de "," value ":" Mother "}}})' –