2017-08-26 24 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

相關問題