【发布时间】:2014-07-18 16:24:36
【问题描述】:
我找到了聚合框架,但是如何在一个月或一周内获得文档?我想计算一周或一个月内下了多少订单。文件是这样的:
{
"_id" : ObjectId("53834167b54a3b22f0079e2c"),
"createdDate" : ISODate("2014-05-26T13:28:07.942Z"),
"__v" : 0
},
{
"_id" : ObjectId("53834167b54a3b22f0079e2c"),
"createdDate" : ISODate("2014-05-28T09:28:07.942Z"),
"__v" : 0
}
我想要的只是根据 createdDate 一个月内下了多少订单。
我正在使用的当前代码:
Order.aggregate([
{ "$match": {
'createdDate': {
"$gte": new Date("2014-05-25"), "$lte": new Date("2014-05-27")
}
}},
{ "$group": {
"_id": { "$dayOfYear": "$createdDate" },
"totalCost": { "$sum": "$totalCost" },
"sum": {"$sum": 1}
}}
],
function(err, result) {
console.log(result);
if (err) {
res.send(400, err);
} else {
res.send(200, result);
}
});
【问题讨论】:
标签: javascript node.js mongodb mongoose aggregation-framework