Mongodb Query Для выбора записей, имеющих данный ключ - PullRequest
57 голосов
/ 03 января 2011

Записи в моей базе данных:

{"_id":"1","fn":"sagar","ln":"Varpe"}

{"_id":"1","fn":"sag","score":"10"}

{"_id":"1","ln":"ln1","score":"10"}

{"_id":"1","ln":"ln2"} 

Мне нужно создать запрос MongoDB, чтобы найти все записи с данным ключом.

Например, если я передам lnв качестве параметра запроса он должен возвращать все записи, в которых ln является ключом.Результаты будут

{"_id":"1","fn":"sagar","ln":"Varpe"}

{"_id":"1","ln":"ln1","score":"10"}

{"_id":"1","ln":"ln2"} 

Ответы [ 3 ]

108 голосов
/ 03 января 2011

Чтобы определить, существует ли ключ / поле в вашем документе, используйте оператор $ существующие .

С помощью оболочки MongoDB ...

db.things.find( { ln : { $exists : true } } );
8 голосов
/ 09 сентября 2014

У меня была такая же проблема, и

db.coll.find({"mykey":{'$exists': 1}})

работал для меня

0 голосов
/ 26 мая 2017
db.collection.find({ ln: { $exists: true} });

Оператор $ size сопоставляет любой массив с количеством элементов, указанным в аргументе. Например:

db.collection.find({ ln: { $exists: true, $size: 0 } });

$ size не принимает диапазоны значений. Чтобы выбрать документы на основе полей с различным количеством элементов, создайте поле счетчика, которое увеличивается при добавлении элементов в поле.

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