Mongodb 某些文档组的组数
此mongodb中的文档具有属性Mongodb 某些文档组的组数,mongodb,Mongodb,此mongodb中的文档具有属性createdAt=Date.now(),即纪元时间,以及属性userid和name 所需的是name='abc'的文档数,这些文档是在少于或等于4个月前创建的,但这些文档是由同一用户ID在同一天创建的,作为一个计数。 最好的办法是什么?聚合、映射、组合或 您可以尝试下面的聚合 var date = new Date(Date.UTC(2017, 2, 3, 0, 0, 0)); date.setMonth(date.getMonth() - 4); db.c
createdAt=Date.now()
,即纪元时间,以及属性userid
和name
所需的是
name='abc'
的文档数,这些文档是在少于或等于4个月前创建的,但这些文档是由同一用户ID在同一天创建的,作为一个计数。最好的办法是什么?聚合、映射、组合或 您可以尝试下面的聚合
var date = new Date(Date.UTC(2017, 2, 3, 0, 0, 0));
date.setMonth(date.getMonth() - 4);
db.collection.aggregate([{
$match: {
createdAt: {
$gte: date,
$lte: new Date(Date.UTC(2017, 2, 3, 0, 0, 0))
},
name: "abc"
}
}, {
$group: {
_id: {
date: {
$dayOfMonth: "$createdAt"
},
month: {
$month: "$createdAt"
},
year: {
$year: "$createdAt"
},
userid: "$userid"
},
count: {
$sum: 1
}
}
}]);
我正在获取服务器控制台上未定义的ISODate。我在澳大利亚,不确定这是否有什么不同。更新为使用JavaScript日期对象。看看是否有帮助