在以下查询中,我试图查找articles
上周在我的收藏中创建的条目,按该文章的投票数排序。$match
似乎不起作用(也许我不知道如何使用它)。以下查询完美运行,因此不是日期格式问题,
db.articles.find(timestamp:{
'$lte':new Date(),
'$gte':new Date(ISODate().getTime()-7*1000*86400)}
})
但是这个没有任何结果。如果没有它,$match
它也会获取所需的结果(按投票数排序的文章)。
db.articles.aggregate([
{
$project:{
_id:1,
numVotes:{$subtract:[{$size:"$votes.up"},{$size:"$votes.down"}]}}
},
{
$sort:{numVotes:-1}
},
{
$match:{
timestamp:{
'$lte':new Date(),
'$gte':new Date(ISODate().getTime()-7*1000*86400)}
}
}
])