Sequelize.js Sequelize build()和update,而不是查询和更新/批量更新
是否可以构建记录的实例,设置主键/更新属性并更新实例 例如:Sequelize.js Sequelize build()和update,而不是查询和更新/批量更新,sequelize.js,Sequelize.js,是否可以构建记录的实例,设置主键/更新属性并更新实例 例如: exports.updateModel = async (event, context) => { const body = JSON.parse(event.body); const errors = validate(body, updateSchema).errors; if (errors && errors.length > 0) { return erro
exports.updateModel = async (event, context) => {
const body = JSON.parse(event.body);
const errors = validate(body, updateSchema).errors;
if (errors && errors.length > 0) {
return error(httpCodes.badRequest, 'Invalid Request');
}
let model = db.Model.build();
const result = await model.update({
id : body.modelId,
column : body.newValue
});
return ok({model : result});
}
但是,当我这样做时,我会得到一个关于外键为null的错误。现有记录已具有此集合,我不会使用此更新调用覆盖它
“errorMessage”:“列\“foreign\u id\”中的空值违反了非空约束”
我知道我可以批量更新,并查询单个记录和更新,但我很好奇是否有可能构建一个通用模型,设置id并进行更新。在研究/玩了一会儿后找到了答案
build
函数中有一个参数,它接受一个名为options
的对象<代码>选项有一个默认为true的属性isNewRecord
。如果您将此设置为false并使用update()
它将在设置主键后更新现有记录
let instance = await db.Model.build({}, {isNewRecord: false});
const result = await instance.update({
id: instanceId,
column : newValue
});
也像几年前一样,没有答案