Je souhaite pouvoir recevoir l’object brut brut après avoir appelé Model.create
sur Sequelize, l’object lui-même créé, sans métadonnées ni aucune autre chose. Tout comme l’option {raw: true}
dans Model.find
.
J’ai déjà vu cette réponse: La définition de toutes les requêtes sur raw = true , et non, Model.create({name: 'test'}, {raw: true})
ne fonctionne pas.
Merci
Merci beaucoup pour votre aide. J’ai trouvé une solution, même si ce n’est pas exactement ce que je recherche, mais cela fonctionne et rest bon.
L’entité sequelize a une méthode .get()
pour renvoyer la version de l’object brut. Donc, ça ressemble à ça:
Model.create(modelObject) .then((resultEntity) => { const dataObj = resultEntity.get({plain:true}) }
En venant de ce fil: Sequelize, convertit l’entité en object simple . Cherchez la réponse de CharlesA.
Je n’ai pas essayé avec les tableaux, mais vérifiez ses commentaires et la réponse à côté, si vous rencontrez des problèmes avec un tableau de résultats. Mais puisque .create()
ne retourne qu’un object, cela fonctionne pour moi. Quoi qu’il en soit, si vous utilisez .findAll()
, vous devez utiliser l’option {raw: true}
place de cette solution car elle fonctionne dans cette méthode.
PS Si quelqu’un a encore une solution dans laquelle Sequelize ne renverra pas cet object resultEntity volumineux, mais uniquement l’object de données brut, comme l’option {raw: true}
(car je pense que c’est encore plus léger?), Nous sums ouverts.
Merci beaucoup.
Vous pouvez également utiliser .toJSON () sur l’instance de modèle renvoyée par la requête. http://docs.sequelizejs.com/class/lib/model.js~Model.html#instance-method-toJSON