Obter apenas dataValues da SEQUELIZAÇÃO ORM
Estou a usar o ORM de sequelização para obter dados de um DB PSQL. No entanto, quando recupero algo, é dado um monte de dados. Os únicos dados que quero estão dentro de 'dataValues'. Claro que posso usar um objecto.dataValues. Mas há outras boas soluções?
estou a usar Sequelização 4. 10
5
Author: Gijo Varghese, 2017-09-23
4 answers
Sim, podes
Model.findAll({
raw: true,
//Other parameters
});
Devolveria apenas os dados e não a instância modelo
4
Author: Shivam, 2017-09-23 17:50:23
Sequelizar envolve todos os seus valores de retorno num objecto virtual que contém meta-dados. Se você tem um objeto e você só quer os valores de dados não decorados, você pode desembrulhá-los assim:
Model.findById(1).then(data => {
console.log(data.get({ plain: true }));
});
Além disso, se apenas quiser imprimir o objecto, pode usar o método .toJSON
.
Model.findById(1).then(data => {
console.log(data.toJSON);
});
3
Author: C Deuter, 2018-02-06 01:44:06
Para seleccionar apenas alguns atributos, poderá usar a opção atributos. Na maioria das vezes, você passa por uma matriz:
Model.findAll({
attributes: ['foo', 'bar']
});
Fonte: Aqui
1
Author: Pankaj Jatav, 2017-09-23 14:59:40
O problema só ocorre quando o registo usando:
Consola.log (modelo.findAll ());
Se o guardar numa variável, posso aceder directamente aos objectos dentro de mim sem usar " dataValues"
0
Author: Gijo Varghese, 2017-10-03 05:53:30