Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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
Javascript 为什么';t save()在Sequelize中工作?_Javascript_Sequelize.js - Fatal编程技术网

Javascript 为什么';t save()在Sequelize中工作?

Javascript 为什么';t save()在Sequelize中工作?,javascript,sequelize.js,Javascript,Sequelize.js,我对数据库中已经存在并定义了主键的对象调用save() Sequelize告诉我id必须是唯一的,而不是更新对象。为什么? 我不想说update({every,single,field,except,the,id})。那太无聊了 以下是我当前的代码: const instance = db.dbo__peach_payments_transactions.build(existingPayment); return db.transaction( async (transaction) =>

我对数据库中已经存在并定义了主键的对象调用
save()

Sequelize告诉我
id必须是唯一的,而不是更新对象。为什么?

我不想说
update({every,single,field,except,the,id})
。那太无聊了

以下是我当前的代码:

const instance = db.dbo__peach_payments_transactions.build(existingPayment);
return db.transaction( async (transaction) => {
  return instance.save();
});

我现在也尝试过:

return instance.update({fields: [
          'updated_at',
          'orders_id',
          'payment_states_id',
          'response_data',
          'token',
          'result',
          'reason_code',
          'reason_message',
          'price',
          'processed_at']});
      });
但这会生成相反的sql,而不是保存这些字段,它会排除这些字段,这给了我一个错误:
updated\u at cannote null
(即使它不为null):


“插入“dbo”。“peach_payments_transactions”(“peach_payments_transactions_id”,“created_at”)值('7fb301e9-bb72-4a70-9ee5-0db1376e83e8','2016-07-11 13:48:20.137+00:00')返回*;“
在将其发送到服务器之前,是否可以尝试将
实例设置为
false


可能sequelize认为它是一个新记录,因此它尝试插入它而不是更新

您是否可以检查
实例。isNewRecord
是否有
false
值?如何获取
实例
?使用
.find()
函数,当客户端(浏览器)调用我的服务器时,我从客户端(浏览器)获取实例。我现在就试试set-isNewRecord,谢谢,文档中没有。是的,谢谢,这很有效。伙计,我希望Sequelize的人能更新他们的文档。我觉得我在和这个图书馆对抗暴风雪。Stackoverflow上也几乎没有人:-(我很高兴它起作用了!你能帮我把我的答案标记为正确吗?呵呵:如果你想要更多的分数: