pg nodejs 包结果 'invalid input syntax for type json'
pg nodejs package results in 'invalid input syntax for type json'
我使用 pg node-postgres 包对我的项目进行了以下设置:
简单的 table 'tmp' 看起来像这样:
根据jsonORG and the postgres docs对象:
{"foo" : true}
在句法上是有效的 JSON,并且当使用 pgAdmin 查询工具时:
UPDATE tmp SET data = '{"foo": false}' WHERE id = '1'
工作正常,但是当我尝试使用 pg:
通过我的快速路线更新我的 table
router.put('/updateTMP', (req, res) => {
// I use dummies in this case instead of req.body.someKey for testing purposes
let dummyJSON = {"foo":true};
let dummyID = 1;
pg.query(`UPDATE tmp SET data = '${dummyJSON}' WHERE id = '${dummyID}'`, (errUpdate, responseUpdate) => {
if (!errUpdate) { // NO ERROR
res.json({success: true, message: responseUpdate});
}
else { // ERROR
console.log(dummyJSON);
console.log(errUpdate);
res.json({success: false, message: errUpdate});
}
})
})
我从数据库中得到以下错误:
error: invalid input syntax for type json
我已经尝试了 npm 的 to_json function from postgresql and the to-json package 快速路线 - 所有结果都是相同的负面结果。
我是缺少一些基本的理解还是一些formating/quoting-issue?
提前感谢您的想法! ;)
ps:是的 - 我已经通读了 this, and 篇文章..
我遇到了同样的问题。在将它传递给查询之前尝试使用 JSON.stringify()
将你的 JS 对象转换为字符串,因为 pg 不会总是自动为你做这件事。
有关详细信息,请参阅 GitHub 上的 issue。
我使用 pg node-postgres 包对我的项目进行了以下设置:
简单的 table 'tmp' 看起来像这样:
根据jsonORG and the postgres docs对象:
{"foo" : true}
在句法上是有效的 JSON,并且当使用 pgAdmin 查询工具时:
UPDATE tmp SET data = '{"foo": false}' WHERE id = '1'
工作正常,但是当我尝试使用 pg:
通过我的快速路线更新我的 tablerouter.put('/updateTMP', (req, res) => {
// I use dummies in this case instead of req.body.someKey for testing purposes
let dummyJSON = {"foo":true};
let dummyID = 1;
pg.query(`UPDATE tmp SET data = '${dummyJSON}' WHERE id = '${dummyID}'`, (errUpdate, responseUpdate) => {
if (!errUpdate) { // NO ERROR
res.json({success: true, message: responseUpdate});
}
else { // ERROR
console.log(dummyJSON);
console.log(errUpdate);
res.json({success: false, message: errUpdate});
}
})
})
我从数据库中得到以下错误:
error: invalid input syntax for type json
我已经尝试了 npm 的 to_json function from postgresql and the to-json package 快速路线 - 所有结果都是相同的负面结果。
我是缺少一些基本的理解还是一些formating/quoting-issue?
提前感谢您的想法! ;)
ps:是的 - 我已经通读了 this, and
我遇到了同样的问题。在将它传递给查询之前尝试使用 JSON.stringify()
将你的 JS 对象转换为字符串,因为 pg 不会总是自动为你做这件事。
有关详细信息,请参阅 GitHub 上的 issue。