Tengo una tabla con una columna de matriz llamada tokens
Puedo consultarlo a través de la secuencia de npm sin problemas. A veces, esta columna puede tener hasta 20k elementos en la matriz que no siempre necesito. Necesito solo 10 elementos de él.
En SQL esto sería
select tokens[:10] from schema.table¿Cómo hago esto usando Sequelize?
Esto es lo que estoy haciendo ahora
const whereClause = { where: { active: true }, attributes: { exclude: ['tokens'], include: ['tokens[:10]'], }, }; table.findAll(whereClause);Esto da el siguiente error
original: error: column "tokens[:10]" does not exist Está buscando una columna llamada "tokens[:10]" en lugar de tomar un subconjunto. Qué estoy haciendo mal ?
Puede usar literales cuando selecciona atributos en secuencia. Puedes intentar algo como esto,
const whereClause = { where: { active: true }, attributes: [ [Sequelize.literal(`tokens[:${sub-array-length}]`), 'tokens'] ] }; table.findAll(whereClause);Tenga en cuenta el uso de dos puntos para indicar el índice de corte de subarreglo