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上也几乎没有人:-(我很高兴它起作用了!你能帮我把我的答案标记为正确吗?呵呵:如果你想要更多的分数: