2014-10-29 38 views
1

我MongoDB的文件像MongoDB中查找文档与数据字段不存在

{ 
    "_id" : ObjectId("543d563bde1e58511c264340"), 
    ...some fields ... 
    "pref" : [ 
     { 
      "user_id" : 1, 
      "value" : 0.56 
     } 
    ] 
} 

我怎样才能找到所有地方pref不包含user_id :1条目的文件?

+1

'db.test.find({“pref.user_id”:{“$ ne”:1}})' – wdberkeley 2014-10-29 18:13:20

+0

@wdberkeley这是正确的。请张贴它作为答案。 – Philipp 2014-10-29 18:49:32

回答

2

这里有点不清楚你在找什么。如果你想寻找到user_id具有大于“1”的任何其他数值的所有条目,然后你会想:

db.collection.find({"pref.user_id": {'$ne': 1}})

如果您正在寻找在“USER_ID”字段不存在的文件在所有:

db.collection.find({"pref.user_id": {'$exists': 0}})

请记住,虽然这两个查询的嵌套阵列上的行为。你实际要得到的是'pref'数组中对象的任何与指定条件匹配的所有文档。

相关问题