这是我的代码
Bill.aggregate(
{$unwind:'$detais'},
{ $match : {
createdOn : {
$gt : moment().startOf('day'),
$lt : moment().endOf('day')
}
}
},
{
$group : {
_id : '$detais.product_id',
total : { $sum : '$detais.quantity' },
}
},
{ $sort :{ total: -1 } }
)
.limit(10)
.exec((err, records) => {
if (err) {console.log(err)};
res.send({
data : records
});
});
查询
createdOn : {
$gt : moment().startOf('day'),
$lt : moment().endOf('day')
}
在另一个案件中工作正常。
但总的来说是空洞的结果......请有人告诉我我错在哪里......
答案 0 :(得分:0)
您需要在$and
中应用$match
条件。
Bill.aggregate({
$unwind: '$detais'
}, {
$match: {
createdOn: {
$and: [{
$gt: moment().startOf('day')
},
{
$lt: moment().endOf('day')
}]
}
});