sequelize - 使用通用类型从普通对象创建模型

sequalize - create model from plain object using generic type

我遇到一种情况,我需要将普通对象转换为动态和通用的 sequalize 模型。

saveSomethingGeneric<T>(plainObject){
    plainObject.save();// this is not possible
}

saveSomethingGeneric<UserModel>({fullName, address});

如何将 plainObject 转换为模型并按 Generic 类型保存? 在类型 orm 中,他们有一些东西 getRepositor<T>().create({fullName, address})

sequalize 的等价物是什么?

更新 使用 Model.build 时出现错误。 另外,sequalize 如何知道 type/table? Model.build 不请求有关 table...
的任何提示 Model.build({name: 'test'}) 可以是 Car Person 等等。

谢谢

您想使用 Model.build(obj, options) 方法从普通对象生成实例。

如果你想把它持久化到数据库你可以调用await instance.save().

如果对象表示数据库中已存在的记录集options.isNewRecord: false。这更有意义,例如从您知道已经存在的差异源加载数据,并在 obj.

中具有主键
// create a new instance of a model that is not persisted to the db
const instance = Model.build(obj, {
  // isNewRecord: false,
});
// save to the db
await instance.save();

如果要创建新记录,可以更直接地执行此操作:

const instance = await Model.create(obj);

请注意,在某些情况下,以上可能不包含主键。