Доступ к полям внутри [{}] с помощью запроса mongodb - PullRequest
0 голосов
/ 13 июня 2019

Я хочу получить весь документ, который соответствует storeId в приведенном ниже документе.

"топливные цены": [ { "storeId": 226, "торговец": "M1415", (больше полей) } ]

Я пытался: db.FuelStations.find ({"fuelprices.storeId": 226})

db.colName.find ({"fuelprices. []. StoreId": 226}).

Результат должен вернуть весь документ, который соответствует 226 идентификатору магазина.

Если бы вы могли помочь, это было бы здорово.

Ответы [ 2 ]

1 голос
/ 13 июня 2019

Просто получите доступ к полю, как если бы он был предметом напрямую. Он будет сканировать каждый элемент и совпадать.

db.collection.find({
  "fuelprices.storeId": 226
})

См. документы по запросу массива встроенных документов .

0 голосов
/ 13 июня 2019

Весь позиционный оператор $ [] указывает, что оператор обновления должен изменить все элементы в указанном поле массива.

https://docs.mongodb.com/manual/reference/operator/update/positional-all/

вам не хватает $ для вашего запроса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...