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

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