组原始=真上Sequelize Model.create

问题描述:

我希望能够呼吁Sequelize Model.create后接受普通原对象,已创建的对象本身,没有元数据或任何其他事情。就像Model.find中的{raw: true}选项一样。组原始=真上Sequelize Model.create

我已经看到了这样的回答: Setting all queries to raw = true sequelize, 没有,Model.create({name: 'test'}, {raw: true})不起作用。

感谢

+0

使用'model.toObject'函数:[http://mongoosejs.com/docs/api.html#document_Document-toObject](http://mongoosejs.com/docs/api.html#document_Document-toObject) – alexmac

+0

谢谢alexmac。但这是猫鼬,但我找到了一个类似的方法''model.get',我发布了答案。 thnx – Mon

非常感谢您的帮助。我找到了一个解决方案,虽然这不是我正在寻找的东西,但它有效,而且还很好。

的sequelize实体具有.get()方法返回普通对象的版本。所以它是这样的:

Model.create(modelObject) 
.then((resultEntity) => { 
    const dataObj = resultEntity.get({plain:true}) 
} 

来自此线程:Sequelize, convert entity to plain object。寻找CharlesA的答案。

未与阵列试过,但检查其意见,并在它旁边,如果您有任何关于结果的排列问题的答案。 但由于.create()只返回一个对象,它适用于我。无论如何,如果你正在使用.findAll(),你应该使用{raw: true}选项,而不是该解决方案,因为它在那个方法。

P.S.如果有人仍然有一个解决方案,Sequelize本身不会返回大resultEntity对象,而只是普通的数据对象,就像{raw: true}选项(因为我觉得这仍然打火机吗?),我们是开放的。

非常感谢。

您也可以在这是一个从查询返回的模型实例使用.toJSON()。 http://docs.sequelizejs.com/class/lib/model.js~Model.html#instance-method-toJSON

+0

感谢凯文,找到了一个内置的解决方案,并张贴为答案 – Mon