mongoose选择!boolean或boolean和过去的日期

时间:2014-10-09 00:47:11

标签: node.js mongodb mongoose

只是想知道我将如何进行以下选择:

架构:

Item: {
  ...
  premium: {
    isPremium: Boolean,
    expiryDate: Date
  }
}

它应该返回premium.isPremium == false OR(premium.isPremium == true AND premium.expiryDate< = currentDate)的所有项目。

1 个答案:

答案 0 :(得分:2)

Item.statics = {
    getPremium: function (currentDate) {
        return this.find().or([{'premium.isPremium': false}, {'premium.isPremium': true, 'premium.expiryDate': {$lte: currentDate}}]).exec()
    }
}