我尝试使用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}
}
}
])
发布于 2013-07-19 15:31:38
现在,您需要保留一个单独的字段,因为聚合框架还不能处理此问题。在https://jira.mongodb.org/browse/SERVER-9406上有一个服务器票证来实现它,所以我建议你投票支持它(我刚刚已经投票了)。
https://stackoverflow.com/questions/17735838
复制相似问题