2014-10-31 92 views
1

我有一个猫鼬查询,它可以找到用户得到但尚未兑现的所有奖励。猫鼬与哪里查询

Reward.find({user: user, redeemed: false}).exec(callback) 

我想把它改成所有未兑换的奖励和今天兑换的奖励。 这是正确的路要走。

Reward.find({user:user}) 
     .where('redeemed').equals('false') 
     .where('redeemed').equals('true').gt(yesterday) 
     .exec(callback) 

回答

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)