我试图只得到记录,发生在前一天使用 Mongoose .我有下面的查询.但今天的记录也包括在总和值.我将感谢任何意见,以实现这一点.
const yesterday = new Date()
yesterday.setDate(yesterday.getDate() - 1)
const sums = salesSchema.aggregate([
{
$match: {
createdAt: {
$gte: yesterday,
$lt: new Date()
} // expected this should filter only createdAT previous day
}
},
{
$group: {
_id: null,
total: { $sum: { $multiply: ["$price", "$quantity"] } }
}
}
]);
1条答案
按热度按时间ocebsuys1#
你在
$match
中使用当前日期作为上限,所以它包含了当前日期之前的所有记录。相反,您可以使用两个不同的日期: