我有一个集合,每个文档都有2个日期字段(开始日期/结束日期) 我想在最少30分钟内返回结束日期和开始日期之间差异的文档。 谢谢!
答案 0 :(得分:1)
您可以使用具有单个$redact
阶段的聚合,并使用$subtract
来计算2个日期之间的差异:
var dateSchema = new mongoose.Schema({
startDate: Date,
endDate: Date
}, { collection: "dates" });
var DateModel = db.model('DateModel', dateSchema);
DateModel.aggregate({
$redact: {
$cond: {
if: { $gte: [{ $subtract: ["$endDate", "$startDate"] }, 30 * 60 * 1000] },
then: "$$KEEP",
else: "$$PRUNE"
}
}
}, function(err, res) {
console.log(res);
})