Mongodb Query Чтобы выбрать записи, имеющие заданный ключ - программирование
Подтвердить что ты не робот

Mongodb Query Чтобы выбрать записи, имеющие заданный ключ

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

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

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

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

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

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

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

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

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

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

Ответ 1

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

Через оболочку MongoDB...

db.things.find( { ln : { $exists : true } } );

Ответ 2

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

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

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

Ответ 3

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

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

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

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