我是节点新手,随后是 pg-promise。我在我的 node express 应用程序中试图实现的是一个路由,它将作为一个 api 在数据库中的表中执行单个字段更新。这必须只是一个将使用表名、列名、列值和列 id 值调用的单一路由,以识别表中要更新的行。
这是我到目前为止尝试过的代码,但我似乎无法正确:
router.post('/update_db_field', function (req, res, next) {
db.one('update $table~ set $dbcol~=$dbcolval~ where $dbcolid~=$dbcolidval~ returning $colid~', [
req.body.table,
req.body.dbcol,
req.body.dbcolid,
req.body.dbcolval,
req.body.dbcolidval
]).then(function (data) {
console.log(data)
res.send(data)
}).catch(function (error) {
console.log("ERROR:", error.message || error); // print error;
});
})
不幸的是,它引发了以下错误:
ERROR: syntax error at or near "$"
还有一种方法可以从catch()
函数中打印查询字符串,这样调试会更容易一些吗?