Mongodb查询选择具有给定键的记录

时间:2011-01-03 05:57:24

标签: mongodb

我的数据库中的记录是

{"_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"} 

3 个答案:

答案 0 :(得分:107)

要查找文档中是否存在键/字段,请使用$exists运算符。

通过MongoDB shell ...

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

答案 1 :(得分:8)

我有同样的问题和

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

为我工作

答案 2 :(得分:0)

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

$ size运算符将任何数组与参数指定的元素数匹配。例如:

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

$ size不接受值范围。要根据具有不同元素数量的字段选择文档,请创建一个计数器字段,在向元素添加元素时将其递增。