【发布时间】:2021-06-13 00:57:45
【问题描述】:
我希望是否有任何方法可以将我的 API 响应动态映射到节点 js 中的模型类。例如,我有一个使用 sequelize-Auto 动态定义的模型,看起来像这样
return sequelize.define('clients', {
id: {
type: Sequelize.STRING(255),
allowNull: false,
primaryKey: true
},
dateCreated: {
type: Sequelize.DATE,
allowNull: true
},
dateModified: {
type: Sequelize.DATE,
allowNull: true
},
createdBy: {
type: Sequelize.STRING(255),
allowNull: true
},
createdByName: {
type: Sequelize.STRING(255),
allowNull: true
},
modifiedBy: {
type: Sequelize.STRING(255),
allowNull: true
},
modifiedByName: {
type: Sequelize.STRING(255),
allowNull: true
},
c_code: {
type: Sequelize.TEXT,
allowNull: true
},
c_name: {
type: Sequelize.TEXT,
allowNull: true
},
...
...
...
}
这就是我映射 API 响应的方式,但如果我更改模型(动态发生),我必须手动更新控制器中的字段,如下面的代码所示
const client = {
id: req.body.id,
dateCreated: req.body.dateCreated,
dateModified: req.body.dateModified,
createdBy: req.body.createdBy,
createdByName: req.body.createdByName,
modifiedBy: req.body.modifiedBy,
modifiedByName: req.body.modifiedByName,
c_code: req.body.c_code,
...
...
...
};
models.clients
.upsert(client);
我希望是否有一种方法可以从res.body 动态提取我的模型对象,例如来自.net 的automapper
【问题讨论】:
标签: node.js orm model sequelize.js mapper