使用ObjectId的Mongodb日期聚合运算符

时间:2013-07-18 23:42:58

标签: mongodb aggregation-framework

我正在尝试将ObjectId用作创建日期持有者,并在尝试进行聚合查询时遇到一些问题。特别是我们希望使用日期聚合运算符按月对文档进行分组,但该运算符显然不能与ObjectId一起使用。有没有解决方法,或者我是否必须开始为每个文档使用单独的CreationTime字段?

这是我正在尝试的查询 -

db.People.aggregate([
{
    $match: {
        $or: [{"Name":"Random1"}, {"Name":"Random2"}]
    }
},
{
    $project: {
        Name: "$Name",
        Year: {$year: "$_id"},
        Month: {$month: "$_id"}
    }
},
{
    $group: {
        _id: {Name: "$Name", Year: "$Year", Month: "$Month"},
        TotalRequests: {$sum:1}
    }
}

])

1 个答案:

答案 0 :(得分:3)

现在,您需要保留一个单独的字段,因为聚合框架尚未处理此问题。在https://jira.mongodb.org/browse/SERVER-9406有一个服务器票据来实现它,所以我建议你投票(我刚刚投票)。

相关问题