gpt4 book ai didi

sql - 如何在 Sequelize 查询中使用查询参数作为列名

转载 作者:行者123 更新时间:2023-12-02 08:11:36 24 4
gpt4 key购买 nike

所以,我有一个运行 Sequelize ORM 的 Express 服务器。客户端将使用单选按钮选项回答一些问题,并将答案作为查询参数传递给 URL,因此我可以向服务器发出 GET 请求。

问题是:我的 req.query 值应该是我的数据库表的列名。我想知道是否可以使用 Sequelize 从数据库获取响应,并将参数作为表的列名传递。

async indexAbrigo(req, res) {
try {
let abrigos = null
let type = req.query.type // type = 'periodoTEMPORARIO'
let reason = req.query.reason // reason = 'motivoRUA'
abrigos = await Abrigos.findAll({
attributes: ['idABRIGOS'],
where: {
//I want type and reason to be the parameters that I got from client
type: 'S',
reason: 'S'
}
})
}
res.send(abrigos)
}

这不起作用,查询结果类似于
(SELECT `idABRIGOS` FROM Abrigos WHERE `type` = `S` AND `reason` = `S`)

相反,我需要将该类型和原因转换为它们的值,并且这些值将传递给 SQL。是否可以使用 Sequelize?或者甚至可以使用任何用于 Node/Express 的 ORM?

谢谢。

最佳答案

是的,你可以用 computed property names 来做.它看起来像这样:

where: {
[type]: 'S',
[reason]: 'S'
}

您的 node.js 版本必须与 ES6 兼容。

关于sql - 如何在 Sequelize 查询中使用查询参数作为列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46373658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com