我有一个mongoose查询,可以找到用户获得但尚未兑换的所有奖励。
Reward.find({user: user, redeemed: false}).exec(callback)
我希望将其更改为所有未兑换的奖励,以及今天兑换的奖励。 这是正确的方法。
Reward.find({user:user})
.where('redeemed').equals('false')
.where('redeemed').equals('true').gt(yesterday)
.exec(callback)
答案 0 :(得分:1)
您需要使用or
查询
Reward.find({
user:user
$or:[{
redeemed: false
},
{
redeemed: true
redeemed_date: {
$gt : yesterday
}
}]
}, callback)
为了更好的可读性,您可以使用or
作为承诺
Reward.find({user:user})
.or([{redeemed: false},
{
redeemed: true,
redeemed_date: {
$gt : yesterday
}
}])
.exec(callback)