带有AND的Meteor MongoDB嵌套查询(两个条件)

时间:2016-01-28 22:34:24

标签: mongodb meteor

我已经挣扎了几个小时。这就是我需要实现的目标:找到满足两个条件的文档:Field1 =' Value1'和users.userName =' Value2'



{
  "_id": "eRotXZoKL4aS3KygF",
  "Field1": "Value1",
  "usercount": 1,
  "owner": "Admin",
  "accessType": "Level1",
  "users": {
    "userName": "Value2",
    "expired": false
  }
}




我的查询



Collection.findOne({},{Field1: channel, users:{userName: nickName}});




返回它找到的第一个匹配项。换句话说,它找到用户所在的文档:{userName:' Value2'},但忽略,或者看起来似乎是Field1:' Value1'

1 个答案:

答案 0 :(得分:0)

findOne的第一个参数是选择器。试试这个:

Collection.findOne({Field1: channel, 'users.userName': nickName});

Mongo在选择器对象的所有字段之间使用隐式AND。另请注意,要匹配嵌套对象,您将使用点表示法来引用embedded documents - 在本例中为'users.username'