【发布时间】:2020-05-17 01:26:56
【问题描述】:
我正在使用 Postgres。 我想使用带有 findAll 的 sequalize.js 进行查询,计算出的字段我得到一个我无法消除的奇怪行为。在实践中,在计算字段的值上,对阻止 Postgres 查询执行的插入双引号进行sequalize。
SELECT "first", "last", "email", "phone", "example.string" AS "accessToken" FROM "utenti" AS "utenti" WHERE "utenti"."email" = 'xxxx' AND "utenti"."password" = 'xxxx');
粗体表示有问题。如果我在计算的字段值上加上单引号,则查询效果很好 在与数据库的连接中,我添加了 quoteidentifiers: false,但现在我遇到了点的问题。 如果计算字段的值内有一个点,则再次添加双引号!!!!!!!!!!!!并且查询 Postgres 不起作用
**这是代码node.js的示例**
const getTableData = (req, res, db) => {
const accessToken='example.string'
db.utenti.findAll({
where: {
[db.Sequelize.Op.and]:
[
{"email":”xxxx”},
{"password":”xxxx”},
]
} ,
attributes: [ 'first','last','email','phone', [ accessToken , "accessToken"]]
})
.then(items => {
if(items.length){
res.json(items)
} else {
res.json({dataExists: 'false'})
}
})
.catch(err => res.status(400).json({dbError: 'db error'}))
}
感谢您的帮助
【问题讨论】:
标签: node.js postgresql sequelize.js