查找包含特定字段的文档

时间:2014-07-10 17:37:05

标签: mongodb mongodb-query

我的mongodb中有这样的文件

{ "_id" : ObjectId("5342b21c0b01a29f6a000b4b"), "vec" : { "1" : 0.97, "4" : 0.11, "5" : 0.07 } }
{ "_id" : ObjectId("5342b1b90b01a29f6a000b32"), "vec" : { "1" : 0.84, "9" : 0.06 } }
{ "_id" : ObjectId("5342b1da67fbc7a16a000b52"), "vec" : { "2" : 0.71, "4" : 0.57, "8" : 0.52, "9" : 0.19 } }
{ "_id" : ObjectId("5342b1f6df2a17a06a000b6b"), "vec" : { "5" : 0.96, "6" : 0.35, "9" : 0.12 } }

如果我只想选择包含" 4"在vec领域,我可以这样做:

db.collection.find({"vec.4" : {$gte : 0}})

但使用此代码我会自动假设所有值都大于零。如果不是 - 如何选择带字段的文档" 4"不管它们的价值如何?

1 个答案:

答案 0 :(得分:2)

您可以使用$exists

db.collection.find({"vec.4" : {$exists : true}})