sequelize.query() devuelve dos veces el mismo resultado

Pongamos, por ejemplo que tenemos esta simple consulta:

const sessions = await Session.sequelize?.query( 'SELECT * FROM sessions' )

En este caso la constante sessions será algo como:

[
    {
        "id": "",
        "createdAt": "",
        ...
    },
    {
        "id": "",
        "createdAt": "",
        ...
    },
    ...
],
[
    {
        "id": "",
        "createdAt": "",
        ...
    },
    {
        "id": "",
        "createdAt": "",
        ...
    },
    ...
]

Esto se debe a que nos está devolviendo metadata (que en el caso de mysql no afecta, son dos arrays iguales).

Para evitar que nos devuelva dos arreglos tenemos que pasarle a la consulta el parámetro:

{ type: QueryTypes.SELECT }
// O, depende de la importación que tengamos
{ type: Sequalize.QueryTypes.SELECT }

como argumento a «query«.

Con lo que la consulta nos quedaría algo parecido a:

const sessions = await Session.sequelize?.query( 
    'SELECT * FROM sessions',
    { type: QueryTypes.SELECT }
)

Happy code 👨‍💻🎉


Tu opinión es importante para mi, ¿Te ha resultado útil este artículo?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*