我正在尝试汇总与查询匹配的文档。我在MongoDB中使用Mongoose。
let today = new Date();
let start = moment(today).startOf('year').toDate().toISOString();
let end = moment(today).endOf('year').toDate().toISOString();
let event_query = {"$gte" : start, "$lte" : end};
console.log(event_query);
/*
*{ '$gte': '2019-01-01T08:00:00.000Z',
* '$lte': '2020-01-01T07:59:59.999Z' }
*/
let promise = Model.aggregate([
{ $match: {"charged" : true, "createdAt": event_query}},
{ $group: { _id: "$customer", total: { $sum: 1 } } }
]).exec();
我知道这应该与文档匹配,因为当我在聚合之外使用此查询时,它将返回预期的文档。另外,如果我删除createdAt
查询,这将返回预期的查询。
为什么我在createdAt
时间戳上进行的日期查询无法匹配聚合管道中的文档?