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
});

也像几年前一样,没有答案