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);
请注意,在某些情况下,以上可能不包含主键。
我遇到一种情况,我需要将普通对象转换为动态和通用的 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);
请注意,在某些情况下,以上可能不包含主键。