【发布时间】:2018-03-11 15:04:36
【问题描述】:
我试图在我的猫鼬上使用聚合。
理想的脚本,会总结过去 100 天的所有 crime.amount 和 heavy_crime 数量,并且只得到与用户 ID 相关的结果。
(今天:todate)
(100天前:fromdate)
型号:
time: Number,
userid : String,
crime: {
cash: {type: Number, default: 0},
amount: { type: Number, default: 0}
},
heavy_crime: {
cash: {type: Number, default: 0},
amount: { type: Number, default: 0}
},
尝试代码:
function checkCrimeRating(userid) {
var todate = new Date();
var fromdate = new Date();
var lastfive = new Date();
var MainDate = date.getDate();
fromdate.setHours(0,0,0,0);
todate.setHours(0,0,0,0);
lastfive.setHours(0,0,0,0);
lastfive.setDate(MainDate - 5);
fromdate.setDate(MainDate - 100);
return dailyStats.aggregate(
{ $group: {
_id: "$time" : $gte {fromdate.getTime()}, $lte: {todate.getTime()},
total: { $sum: { $add: ["$crime.amount", "$heavycrime.amount"] } },
}}
).then(function (numberO))
}
那么我怎样才能使聚合只对过去 100 天进行总结,并使用正确的用户 ID?
numberO Would ideally return number of crime and heavycrime the last 100 days.
【问题讨论】:
标签: mongodb mongoose aggregation-framework