Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在Sequelize Model.create上设置raw=true_Node.js_Orm_Sequelize.js - Fatal编程技术网

Node.js 在Sequelize Model.create上设置raw=true

Node.js 在Sequelize Model.create上设置raw=true,node.js,orm,sequelize.js,Node.js,Orm,Sequelize.js,我希望能够在调用Model.createon Sequelize后接收纯原始对象,即创建的对象本身,没有元数据或任何其他内容。就像Model.find中的{raw:true}选项一样 我已经看到了这个答案: , 不,Model.create({name:'test'},{raw:true})不起作用 谢谢您还可以对查询返回的模型实例使用.toJSON() 非常感谢您的帮助。我找到了一个解决方案,虽然这不是我想要的,但它很有效,而且仍然很好 sequelize实体有一个.get()方法来返回普通对

我希望能够在调用
Model.create
on Sequelize后接收纯原始对象,即创建的对象本身,没有元数据或任何其他内容。就像
Model.find中的
{raw:true}
选项一样

我已经看到了这个答案: , 不,
Model.create({name:'test'},{raw:true})
不起作用


谢谢

您还可以对查询返回的模型实例使用.toJSON()

非常感谢您的帮助。我找到了一个解决方案,虽然这不是我想要的,但它很有效,而且仍然很好

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

Model.create(modelObject)
.then((resultEntity) => {
    const dataObj = resultEntity.get({plain:true})
}
来自此线程:。寻找CharlesA的答案

尚未尝试使用数组,但如果您对结果数组有问题,请检查其注释和旁边的答案。 但是由于
.create()
只返回一个对象,所以它对我来说是有效的。无论如何,如果您使用的是
.findAll()
,那么应该使用
{raw:true}
选项而不是此解决方案,因为它在该方法中工作

另外,如果任何人仍然有一个解决方案,Sequelize本身不会返回那个大的resultEntity对象,而只是普通的数据对象,就像
{raw:true}
选项一样(因为我认为它仍然更轻?),我们就打开了

多谢各位

Model.create(modelObject)
.then((resultEntity) => {
    const dataObj = resultEntity.get({plain:true})
}
如前所述,或者如果您想使用async/await语法,请选择:

const myResultVar = (await Model.create(modelObject)).get({plain:true})

基本上是一样的,只是没有留下async/await语法:)

使用
model.toObject
函数:谢谢你。但这是针对猫鼬的,但我为sequelize
model.get找到了一个类似的方法,我将其作为答案发布。Thnx感谢Kevin,找到了一个内置解决方案,并发布为answerI。我注意到
.toJSON()
返回整个对象?你知道如何将它与
属性配对以过滤返回的内容吗?为什么Sequelize不为create实现{raw:true}?!嗨:)你不需要重复其他答案。你的备选方案足够好,可以自己写下来作为答案。