首页 > 解决方案 > 填写 MongoDB 上聚合的缺失日期

问题描述

我正在尝试聚合我的 MongoDB 集合。我需要返回一个查询,其中包含集合中日期介于$min和日期之间的所有对象$max。每个插入的日期总会有一个插入,但并非所有日期都会插入一个对象。

我收藏的其中一件物品是:

{ 
    "_id" : ObjectId("5c8254098341a325bc160d12"), 
    "date" : ISODate("2016-05-18T16:00:00.000+0000"), 
    "ticker" : "abc123"
}

对于我们没有任何记录的日期,我们应该返回:

{ 
    "_id" : ObjectId("5c8254098341a325bc160d12"), 
    "date" : ISODate("2016-05-20T16:00:00.000+0000"), // This is a missing date
    "ticker" : "abc123"
}    

我已经看过这些主题[1] [2]但我无法弄清楚如何$map为我的案例实施。

db.movs.aggregate(
    [
        {
            $group: {
                _id: "$data",
                ticker: { $first: "$ticker" },
            }
        },
        {
            $project: {
                "date_2" : {
                  "$map": {
                  }
                }
            }
        },

    ]
);

标签: mongodbaggregation-framework

解决方案


推荐阅读