【发布时间】:2018-12-07 08:35:14
【问题描述】:
我的项目有以下设置,使用 pg node-postgres 包:
简单的表 'tmp' 如下所示:
根据jsonORG和postgres docs的对象:
{"foo" : true}
是语法上有效的 JSON,当使用 pgAdmin 查询工具时:
UPDATE tmp SET data = '{"foo": false}' WHERE id = '1'
工作正常,但是当我尝试使用 pg 通过我的快速路由更新我的表时:
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
我已经尝试过 postgresql 中的 to_json 函数和快速路由中 npm 中的 to-json package - 都得到相同的否定结果。
我是否缺少一些基本的理解,或者是一些格式/引用问题?
提前感谢您的想法! ;)
【问题讨论】:
-
即使我尝试将 {"":""} 传递给 postgresql 的 to_json() 函数,我也会收到以下错误:'could not determine polymorphic type because input has type "unknown"'..
标签: json node.js postgresql syntax-error pg