如何查询嵌套数组

时间:2015-04-29 15:47:28

标签: node.js mongodb mongoose

我们说我有像

这样的文件
{
    name: "name1",
    friends: [
        {
            name: "name2",
            thingsWeDo: [
                {
                    name: "running",
                    like_it: true
                },
                {
                    name: "swimming",
                    like_it: false
                }
            ]
        }
    ]
}

所以,如果我想知道我朋友的名字,我们都喜欢游泳,我该怎么做?

我知道架构设计可能会更好,但是如果我想查询这个架构,我该怎么办?

是否可以链接$elemMatch

1 个答案:

答案 0 :(得分:-1)

未经测试,但这样的事情应该这样做:

Model.find({ 
  $and: [ 
    { "friends.thingsWeDo.name": 'swimming' }, 
    { "friends.thingsWeDo.like_it": true } 
  ] 
}, function (err, docs) {

});