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

时间:2011-12-05 18:26:34

标签: javascript node.js sequelize.js

如何使用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 */ });

谢谢!

2 个答案:

答案 0 :(得分:22)

你是否尝试在sequelize中使用finders的数组表示法?

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

答案 1 :(得分:1)

另一种方法:

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