J'utilise l'ORM de séquençage pour récupérer les données d'une base de données PSQL. Cependant, lorsque je récupère quelque chose, tout un tas de données est fourni. Les seules données que je veux se trouvent dans 'dataValues' Bien sûr, je peux utiliser object.dataValues. Mais, y a-t-il d'autres bonnes solutions?
J'utilise Sequelize 4.10
Le problème ne se produit que lorsque je le connecte en utilisant:
console.log (Model.findAll ());
Si je l'enregistre dans une variable, je peux directement accéder aux objets à l'intérieur sans utiliser " dataValues "
Oui, vous pouvez
Model.findAll({
raw: true,
//Other parameters
});
renverrait uniquement les données et non l'instance de modèle
Sequelize encapsule toutes les valeurs de retour dans un objet virtuel contenant des métadonnées. Si vous avez un objet et que vous voulez juste les valeurs de données non décorées, vous pouvez les décompresser comme ceci:
Model.findById(1).then(data => {
console.log(data.get({ plain: true }));
});
De plus, si vous souhaitez simplement imprimer l'objet, vous pouvez utiliser la méthode .toJSON
.
Model.findById(1).then(data => {
console.log(data.toJSON);
});