如何计算mongoDB中的内部文档数量

时间:2013-12-10 13:26:11

标签: mongodb

我是mongodb概念的新手

   outerob{ 
   _id:111,
   name:xxx,
   dependents : [ {
                  name:a,
                  age:11
                  } 

                  {
                  name:b,
                  age:12
                  }
                  {
                  name:a,
                  age:11
                   }
                  ]
            }

我有这样的集合。我想算一些家属。请帮帮我这个

提前致谢

2 个答案:

答案 0 :(得分:3)

您可以使用Aggregation框架找到数组中的项目数,如下所示:

db.myCollection.aggregate(
    { $unwind: "$dependents" },
    { $group: { _id: "$_id", count: { $sum: 1 }}}
);

您可以找到具有特定名称的项目数量,如下所示:

db.myCollection.aggregate(
    { $unwind: "$dependents" },
    { $match : {"dependents.name" : "a"}},
    { $group: { _id: "$_id", count: { $sum: 1 }}}
);

答案 1 :(得分:0)

尝试

 x=db.collection.find({_id:111}).toArray()[0].dependents.length