我使用Mongoose构建聚合管道,匹配工作正常,直到我想使用$gte
和$lte
运算符匹配日期。奇怪的是,如果我在常规find()
中使用匹配查询,它会按预期工作:
var query = {
dueDate: {
$gte: moment().toISOString() // I've also tried using $date { ... }
}
};
// finds entries matching the query [..., ...]
Model.find(query, callback);
但是,使用$match
和相同查询进行聚合不会:
var aggregation = [{
$match: query
}];
// finds no entries (using the same query) []
Model.aggregate(aggregation, callback);
为什么会出现这种情况?
非常感谢!
答案 0 :(得分:3)
使用聚合时删除toISOString()聚合不适用于此
这有效:
var query = {
dueDate: {
$gte: moment()
}
};