【问题标题】:mongo query to aggregate 2 documents for 2 datesmongo 查询聚合 2 个日期的 2 个文档
【发布时间】:2016-07-22 09:03:02
【问题描述】:

我有以下收藏...

[{
   "_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中可以吗?我对mongo了解不多,如果有人可以指导我进行此查询会有所帮助...

【问题讨论】:

    标签: mongodb mongodb-query aggregation-framework


    【解决方案1】:

    运行以下聚合管道应该会给你想要的结果:

    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" }
            }
        }
    ])
    

    _id 值指定为null 将计算所有输入文档作为一个整体的累积值。

    【讨论】:

      猜你喜欢
      • 2015-01-31
      • 1970-01-01
      • 2019-05-06
      • 1970-01-01
      • 2020-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多