Поиск всех записей, содержащих данное подполе в mongodb - PullRequest
14 голосов
/ 21 июля 2011

В mongodb я могу найти все те записи в коллекции в базе данных, которые содержат определенное поле, используя следующий запрос

var doc = db.collection_name.find({field_name:{$exists:true}})

Теперь рассмотрим следующий документ:

{
  "somefield":"someval",
  "metadata": {"id":"someval",
               "client_url":"http://www.something.com"

              }
}

Каким будет запрос для получения всех записей, имеющих поле id в метаданных?

Пожалуйста, помогите. Спасибо

1 Ответ

27 голосов
/ 21 июля 2011

Вы можете использовать точечную нотацию для ссылки на поля вложенных документов

var doc = db.collection_name.find({"metadata.id":{$exists:true}})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...