Secuestre cómo encontrar filas con múltiples donde las cláusulas y la marca de tiempo> ahora ()

StackOverflow https://stackoverflow.com/questions/8390009

Pregunta

¿Cómo hago esto con SECLELIZE?

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

Esto es lo que estoy tratando de hacer (suponga Session es un modelo de secuelas):

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

¡Gracias!

¿Fue útil?

Solución

¿Intentaste usar la notación de matriz de buscadores en secuelas?

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

Puede revisar esta página: http://sequelizejs.com/?active=find-objects#find-objects

Espero que esto funcione. De lo contrario, es un error: D

Otros consejos

Tenga en cuenta que a partir de esta publicación y la versión más reciente de Sequelize, las respuestas anteriores están desactualizadas. Estoy publicando la solución que obtuve trabajando con la esperanza de salvar a alguien algún tiempo.

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

¿Tenga en cuenta los $ y la matriz dentro del objeto JSON y la falta de? Reemplazo de tokens.

O poner de una manera más general, ya que eso podría ayudar a alguien a envolverlo:

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

Otro método:

Session.find({
  where: {
    user_id: someNumber,
    token: someString,
    expires: {
      $gt: (new Date())
    }
  }
}).on('success', function (s) { /* things and stuff */ });
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top