2016-07-22 47 views
1

我有以下集合...蒙戈查詢彙總2個文件2個日期

[{ 
    "_id":"abcd1234", 
    "Date" :{"$date":1430418601000}, 

    "Count":{ 
     "hr1":0, 
     "hr2":20, 
     "hr3":1, 
     "hr4":4, 
     "hr5":0, 
     } 
}, 
{ 
    "_id":"abcd1234", 
    "Date" :{"$date":1430505001000}, 
    "Count":{ 
     "hr1":2, 
     "hr2":15, 
     "hr3":15, 
     "hr4":0, 
     "hr5":1, 
} 
} 
] 

我想要聚合計算這些日期,以便總數會是怎樣......

{"hr1":2, 
"hr2":35, 
"hr3":16,//......so on 
} 

在MongoDB中可能嗎?我沒有蒙戈的很多知識,如果有人能指導我這個查詢會有所幫助......

回答

0

運行以下聚合管道應該給你想要的結果:

db.collection.aggregate([ 
    { 
     "$group": { 
      "_id": null, 
      "hr1": { "$sum": "$Count.hr1" }, 
      "hr2": { "$sum": "$Count.hr2" }, 
      "hr3": { "$sum": "$Count.hr3" }, 
      "hr4": { "$sum": "$Count.hr4" }, 
      "hr5": { "$sum": "$Count.hr5" } 
     } 
    } 
]) 

指定_idnull的值將作爲一個整體計算所有輸入文檔的累計值。

+1

感謝chridam它的工作... – yog