MongoDB查询子阵列

时间:2014-06-16 14:15:50

标签: javascript node.js mongodb sails.js

我有以下文件

{
   "_id" : "someId",
   "name" : "myTeam",
   "team" : [
                {
                    "entity" : "size",
                    "value" : 14
                },
                {
                    "entity" : "returns",
                    "value" : 45
                }
            ]
}

我需要检索所有值大小为>的团队10.我怎样才能在mongoDB中实现这一目标?

3 个答案:

答案 0 :(得分:1)

你可以这样做:

db.collection.find( { team: 
                         { $elemMatch: 
                              { value: 
                                  { $gt: 10 },
                                  entity: 'size'
                              } 
                         }
                      }
                  )

答案 1 :(得分:0)

您直接查询数组子文档:

db.collection.find({ "team.value" : { $gt : 10 } });

答案 2 :(得分:0)

为您提供的解决方案:

db.collection.find({ "team.value" : { $gt : 10 }, "team.entity": "size" });