2014-10-29 79 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'數組中對象的任何與指定條件匹配的所有文檔。

相關問題