2016-07-23 118 views
1

查詢文件由多個對象相同的字段我有一個文件,看起來像這樣:MongoDB的 - 在陣列

{ 
    "_id" : "AouRpb5g2WR9sZe5z", 
    "participants" : [ 
    { 
     "user" : "CYvApwRFADveqBqEY", 
     "unread" : false 
    }, 
    { 
     "user" : "sgoinZkaHbqth8nPr", 
     "unread" : false 
    } 
    ], 
"createdAt" : ISODate("2016-07-23T04:06:53.748Z") 
} 

我需要能夠找到既有用戶'CYvApwRFADveqBqEY''sgoinZkaHbqth8nPr'文檔。我能找到elemMatch其中一個用戶的所有文檔,但無法找出兩者,或者如果這是正確的方法。

回答

1

隨着find查詢與$all,你可以這樣做:

db.device.find({ 
    "participants.user": { 
    $all: ["CYvApwRFADveqBqEY", "sgoinZkaHbqth8nPr"] 
    } 
}); 

$all商務部:

的$所有操作員選擇的文件,其中一個字段的值是一個>包含所有指定元素的數組。

+0

謝謝!完美的作品。 – gkrizek