Mongo日期汇总输出日期对象



我需要一分钟对DateTime字段进行分组。这很容易:

db.my_collection.aggregate([
    { "$group": {
        "_id": {
            "year": { "$year": "$meta_data.created_at" },
            "dayOfYear": { "$dayOfYear": "$meta_data.created_at" },
            "hour": { "$hour": "$meta_data.created_at"},
            "minute": { "$minute": "$meta_data.created_at"}
        },
        "count": { "$sum": 1 }
    }}])

问题是输出为:

{
  "_id": {
    "year": 2016,
    "dayOfYear": 349,
    "hour": 16,
    "minute": 43
  },
  "count": 4
}

如果我想以后再查询日期,这并不是很方便。如何在DateTime对象中将聚合的输出返回?

好的 - 所以我在问题中的意思是可行的:

db.my_collection.aggregate([
    {"$group": {
        "_id": {
            "date_by_minute": {"$subtract": [{"$subtract": 
["$meta_data.created_at", 
{"$multiply":[{"$second": "$meta_data.created_at"} , 1000]}]},
    {"$millisecond": "$meta_data.created_at"}]}},
                "count": { "$sum": 1 }
            }}
            ])

最新更新