【发布时间】:2022-02-12 02:09:00
【问题描述】:
我有一个与我的场景相关的简单问题。我有一个反应前端,管理员有一个表单来为用户定义它自己的注册表单。
- 管理员将发送一组包含其数据类型的字段
- 后端 NodeJs 将获取这些字段并运行一些脚本/函数以在数据库中创建具有相应数据类型的表
- 还需要为各个表动态创建模型 我只是想办法完成它。欢迎任何替代解决方案或任何改进我的方案的建议? 提前致谢
【问题讨论】:
标签: node.js postgresql sequelize.js
我有一个与我的场景相关的简单问题。我有一个反应前端,管理员有一个表单来为用户定义它自己的注册表单。
【问题讨论】:
标签: node.js postgresql sequelize.js
您可以将所有指示的字段映射到 Sequielize 的字段定义中,例如:
fieldName: {
field: 'field_name',
type: DataTypes.TEXT,
allowNull: false
},
并调用sequelize.define,它将返回一个可用于执行查询的 Sequilize 模型:
// NOTE "sequelize" should be an instance of Sequelize, i.e. an existing connection.
function registerModel(tableName, modelName, fields) {
const model = sequelize.define(modelName, {
...fields
}, {
tableName: tableName,
timestamps: false,
});
return model;
}
注册一个新模型:
const fields = [{
fieldName: {
field: 'field_name',
type: DataTypes.TEXT,
allowNull: false
},
}]
const newModel = registerModel('some_table', 'someModel', fields);
使用注册的模型:
const items = await newModel.findAll({
where: {
// some conditions
}
})
【讨论】: