В mongoDB как добраться до значения поля «имя» в массиве объектов - PullRequest
0 голосов
/ 14 мая 2018

Мне нужно выяснить, сколько людей имеют определенного друга (по имени), и у каждой записи в JSON есть массив друзей. Как мне добраться до значения поля «имя» в массиве объектов в оболочке mongoDB? Может быть, это поле нужно проиндексировать перед выполнением поиска в этом поле?

"friends" : [{ "id" : 0, "name" : "Baird Fitzpatrick" }, { "id" : 1, "name" : "Karyn Benjamin" }, { "id" : 2, "name" : "Stacey Fuentes" }]
enter image description here

1 Ответ

0 голосов
/ 14 мая 2018

Вы можете искать вложенный объект в mongodb, указав путь к вложенному свойству:

db.YOURCOLLECTION.find({"friends.name": "ABC"});

Подробнее о запросе вложенного объекта здесь

Возможноэто поле нужно проиндексировать перед выполнением поиска в этом поле?

Конечно, вы можете создать индекс для вложенного поля.Просто укажите индекс со свойством - это путь к вложенному полю, как указано выше:

db.YOURCOLLECTION.createIndex( { "friends.name": 1 } )

Для дальнейшего использования вы можете прочитать о $regex query

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