2017-08-26 23 views
0

我对mongoDB真的很陌生。在给定的数据结构,我怎么可以总结的misscallcount场如何找出mongodb中的一个字段的总和

{ 
"_id" : ObjectId("596c5f6905c36efd35000009"), 
    "misscallDetails" : [ 
    { 
     "contactId" : "1573778945692669180", 
     "misscallCount" : NumberInt(1), 
     "promotedOn" : ISODate("2017-08-04T13:54:17.298+0000") 
    }, 
    { 
     "contactId" : "1573778945692669180", 
     "misscallCount" : NumberInt(1), 
     "promotedOn" : ISODate("2017-08-04T13:56:17.243+0000") 
    } 
], 
"promoId" : ObjectId("596c5f4705c36efd35000003"), 
} 

从评论:

我从我的身边尝试,但它给共0;

db.promoledger.aggregate([ 
     { $group: { _id: null, total: { $sum: "$misscallDetails.misscallCount" } }} 
]) 
+0

应该是什么结果对象分组之前$unwind数组? – nullpointer

+4

也许你应该看看一些文档,然后尝试一下。 ['$ sum'](https://docs.mongodb.com/manual/reference/operator/aggregation/sum/)似乎是一个合乎逻辑的开始。 –

+0

我从我身边试过,但它给了0; 'db.promoledger.aggregate([{$ group:{_id:null,total:{$ sum:“$ misscallDetails.misscallCount”}}}])' – Amit

回答

0

您需要的总和

b.promoledger.aggregate([ 
    {$unwind: '$misscallDetails'}, 
    { $group: { _id: null, total: { $sum: "$misscallDetails.misscallCount" } }} 
]) 
+0

谢谢:)。它正在工作。 – Amit

相关问题