2014-04-01 80 views
0

假設我有一個MongDB記錄如下圖所示:如何在MongoDB中搜索過程中忽略某一領域

{ 名: 「名稱」, 流:[ {用戶: 「用戶0」,名稱:「NAME0 」鎖定:真正}, {用戶: 「USER1」,名稱: 「名稱1」,鎖定:真正}, {用戶: 「用戶2」,名稱: 「NAME2」,鎖定:假} } }

我想查找所有在streams字段中具有user0和name0的記錄,但我不在乎鎖定的字段

find({streams:{user:「user0」,name:「name0」}})不起作用,因爲未指定鎖定字段。

謝謝你, 加里

回答

1

您正在尋找$elemMatch運營商允許你選擇一個子文檔中的陣列符合您的條件的字段:

db.collection.find({ 
    "streams": { "$elemMatch": { "user": "user0", "name": "name0"} } 
}) 

花一些時間要通過手冊中的Query Operators。那裏有很多有用的操作。