Solución:
Muchas gracias por su ayuda. Encontré una solución, aunque esto no es exactamente lo que estoy buscando, pero funciona y también es bueno.
La entidad secuelizar tiene un .get()
método para devolver la versión del objeto simple. Entonces es algo como esto:
Model.create(modelObject)
.then((resultEntity) => {
const dataObj = resultEntity.get({plain:true})
}
Viniendo de este hilo: Sequelizar, convertir entidad en objeto simple. Busque la respuesta de CharlesA.
No lo he probado con matrices, pero verifique sus comentarios y la respuesta al lado si tiene problemas con la matriz de resultados. Pero desde .create()
solo devuelve un objeto, me funciona. De todos modos si estás usando .findAll()
, Deberías usar {raw: true}
opción en lugar de esta solución porque funciona en ese método.
PD: si alguien todavía tiene una solución en la que Sequelize en sí no devolverá ese gran objeto resultEntity, sino solo el objeto de datos sin formato, al igual que {raw: true}
opción (¿porque creo que es aún más ligera?), estamos abiertos.
Muchísimas gracias.
También puede usar .toJSON () en la instancia del modelo que devuelve la consulta. http://docs.sequelizejs.com/class/lib/model.js~Model.html#instance-method-toJSON
Model.create(modelObject)
.then((resultEntity) => {
const dataObj = resultEntity.get({plain:true})
}
Como se mencionó anteriormente o si desea seguir con la sintaxis async / await, elija:
const myResultVar = (await Model.create(modelObject)).get({plain:true})
Básicamente lo mismo, simplemente sin dejar atrás la sintaxis async / await 🙂