【发布时间】:2019-02-09 07:58:35
【问题描述】:
我在 mongodb 中有这些数据:
[
{
"CreateDate" : ISODate("2018-08-08T04:53:51.840Z"),
"cummulativeKWH" : 368.5,
"frequency" : "50.12"
},
{
"CreateDate" : ISODate("2018-08-08T04:53:51.840Z"),
"cummulativeKWH" : 369.5,
"frequency" : "50.12"
},
{
"CreateDate" : ISODate("2018-09-03T04:53:51.840Z"),
"cummulativeKWH" : 369.5,
"frequency" : "50.12"
},
]
我是 MongoDb 的新手,希望能在此查询方面提供一些帮助。我编写了以下聚合管道。只有我使用过滤方法和选定日期时,我才需要取上个月的累积 KWH 平均值。如何获取上个月累积千瓦时的平均值(例如:8 月 1 日至 8 月 31 日),仅默认情况下没有选择且没有过滤器。
有人请给我建议。
db.collection.aggregate([
{ "$match": {
'createDate': {'$gte':ISODate("2018-08-01"), '$lte':ISODate("2018-08-31") }
}},
{$group: {_id:null,
cummulative: {$avg:"$cummulativeKWH"}
}}
])
我正在尝试这种聚合,我得到了输出,但是如何在没有日期选择和没有过滤器的情况下获取如何获取默认的上个月数据平均值。
【问题讨论】:
标签: mongodb mongoose mongodb-query