Solución:
Puedes probar esto:
Encounter.findAll({ order: Sequelize.literal('rand()'), limit: 5 }).then((encounters) => {
// single random encounter
});
No olvide solicitar el Sequelize
Creo que esta solución es la más clara. Debes usar una función aleatoria de una instancia de secuenciación
const sequelize = new Sequelize(url, opts);
Se recomienda utilizar un sequelize-cli para generar el esquema inicial, exporta automáticamente la variable de secuenciación.
Encounter.findOne({
order: sequelize.random()
});
También con este enfoque no necesitas resolver RAND()
vs RANDOM()
problema si cambia un dialecto db de postgres a MySQL o viceversa.
Encounter.findOne({ order: 'random()' }).then((encounter) => {
// single random encounter
});
random()
debe usarse en el caso de PostgreSQL, en el caso de MySQL probablemente usaría rand()
. No especificó qué base de datos está utilizando.
Editar
O si realmente quieres usar .findAll()
:
Encounter.findAll({ order: 'random()', limit: 1 }).then((encounter) => {
// single random encounter
});
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)