续集如何查找具有多个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 */ });