Sequelize 将查询参数分配给模型
Sequelize assign query parameters to Model
我在用于查询 Sequelize 的控制器文件中导入了多个模型。
const ModelA = require('../models/ModelA')
const ModelB = require('../models/ModelB')
我想创建一个 API(使用 express 和 NodeJS),它允许一个名为 includes 的查询参数。
GET /api/v1/myrequest?includes=ModelA,ModelB
包含项是可选的。
我生成一个查询对象:
const { include } = query.params
const queryObject = {}
queryObject.include = [{
model: Model,
as: 'Model',
include: include ? include.split(',') : [] // either ModelA, ModelB, none or both
}
]
它不起作用,因为动态包含查询只是一个数组。但我想要的是将我导入的真实模型映射到 req.query 请求。
所有模型都应该事先在Sequelize中注册。这样您就可以执行以下操作:
include.split(',').map(x => sequelize.models[x])
我在用于查询 Sequelize 的控制器文件中导入了多个模型。
const ModelA = require('../models/ModelA')
const ModelB = require('../models/ModelB')
我想创建一个 API(使用 express 和 NodeJS),它允许一个名为 includes 的查询参数。
GET /api/v1/myrequest?includes=ModelA,ModelB
包含项是可选的。
我生成一个查询对象:
const { include } = query.params
const queryObject = {}
queryObject.include = [{
model: Model,
as: 'Model',
include: include ? include.split(',') : [] // either ModelA, ModelB, none or both
}
]
它不起作用,因为动态包含查询只是一个数组。但我想要的是将我导入的真实模型映射到 req.query 请求。
所有模型都应该事先在Sequelize中注册。这样您就可以执行以下操作:
include.split(',').map(x => sequelize.models[x])