这就是我的代码的样子:
User.native(function (err, collection) {
if (err) throw err;
collection.aggregate([
{
$match: {
id: req.params.id,
createdAt: {">=": start, "<=": end}
}
},
{
$group: {
_id: "$class",
count: {$sum: 1},
jointime: {$max: "$endtime"}
}
}
]
createdAt
是我按时间过滤收集的内容,但在我这样做之后,没有返回任何结果。
我认为它是由日期类型引起的,因为createdAt
是MongoDB中的日期。但是当我尝试使用它时,我可以获得正确的数据。
User.find({}, {id: req.params.childid, createdAt: {">=": start, "<=": end}}, function (err, result) {
console.log("CreatedAt: " + result[0].createdAt);
console.log("Result length: " + result.length);
});
所以,我认为这与约会毫无关系。 aggregate
中有什么不同吗?
答案 0 :(得分:0)
您应该在$gte
运算符中使用$lte
和$match
代替“&gt; =”和“&lt; =”。
$match: {
id: req.params.id,
createdAt: {$gte: start, $lte: end}
}