MongoDB Поиск по имени свойства для любого документа с этим свойством - PullRequest
6 голосов
/ 04 октября 2010

Как мне выполнить поиск в MongoDB, который ищет любые документы с данным свойством?

Что я хочу сделать, это найти все документы, которые имеют свойство, независимо от его значения, и я некажется, в состоянии сделать это.Я пробовал следующее

db.collection.find({"property", null}); //Finds things that don't have that property
db.collection.find({"proprety", {}}); //Doesn't find anything unless something has the empty object as the value

Есть ли на самом деле синтаксис для этого или мне нужно сделать операцию mapreduce?

Ответы [ 2 ]

7 голосов
/ 04 октября 2010

Просто инвертируйте запрос и ищите документы, у которых свойство не равно нулю ($ ne not equals)

db.collection.find( { property : { $ne : null } } );
6 голосов
/ 01 июля 2013

Вот пример ответа с использованием $ Существует:

db.collection.find( { property : { $exists: true } } );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...