续集如何查找具有多个where子句和时间戳的行NOW>

我如何用Sequelize做到这一点?

SELECT FROM sessions WHERE user_id = ? AND token = ? AND expires > NOW() 

以下是我正在尝试做的事情(假设Session是一个Sequelize模型):

 Session.find({ where: { user_id: someNumber, token: someString, //expires > NOW() (how do I do this?) } }).on('success', function (s) { /* things and stuff */ }); 

谢谢!

你尝试使用发现者的数组符号在续集?

 Session.find({ where: ['user_id=? and token=? and expires > NOW()', someNumber, someString] }).on('success', function (s) { /* things and stuff */ }); 

你可以检出这个页面: http : //sequelizejs.com/? active=find-objects#find- objects

希望这个作品。 否则,这是一个错误:D

请注意,截至本文和最新版本的sequelize,上述答案已过时。 我发布了解决scheme,希望能够节省一些时间。

 filters["State"] = {$and: [filters["State"], {$not: this.filterSBM()}] }; 

注意JSON对象中的$和数组并缺less? 令牌replace。

或者采取更为一般的方式,因为这样可以帮助别人把头转过来:

 { $and: [{"Key1": "Value1"}, {"Key2": "Value2"}] } 

另一种方法:

 Session.find({ where: { user_id: someNumber, token: someString, expires: { $gt: (new Date()) } } }).on('success', function (s) { /* things and stuff */ });