MongoDB 半月生 请求大牛一个简单的问题

集合结构如下
{ _id : 1, array : [ ... ... ] }
{ _id : 2, array : [ ... ... ] }
...
{ _id : n, array : [ ... ... ] }
需求一,想要获取每一条文档的 array 的length,结果类似如下
{ _id : 1, arrayLength : 1 }
... ...
{ _id : n, arrayLength : x }
需求二,通过aggregate获取array的总计,结果类似如下
{ _id : 0, arrayTotalLength : y }

 db.inventory.aggregate(
   [
      {
         $project: {
            arrayLength: { $size: "$array" }
         }
      }
   ]
)

第一个用mapreduce
再把第一个的返回集合用一下方法
db.collection.aggregate([
  {$group:{_id:"$name",count:{$sum:1},total:{$sum:"$num"}}
]);