2016-07-23 74 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