如何在nodejs中更新postgres sql中的json数据?

Abh*_*hek 4 postgresql node.js express

我的数据结构模式是这样的

users(
  id serial primary key,
  data json
);
Run Code Online (Sandbox Code Playgroud)

我想更新data密钥。

我正在使用node-postgres库,到目前为止我已经尝试过这样的事情:

pg.connect(process.env.DATABASE_URL, function(err, client, done) {
    var queryString = "UPDATE users SET data =" + myNewJsonData + " WHERE  id = " + userIdToEdit + ";";
    client.query(queryString, function(err, result) {
        done();
        if (err) {
            res.send("Failed to update user data ");
            throw err;
        } else {
            res.send("Successfully updated user data!! ");
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

这不起作用,我收到错误invalid input syntax for type json

有谁可以帮忙吗,谢谢。

Abh*_*hek 6

所以这是一个语法错误,我必须做 stringfy json 数据并将其放在“引号”中

pg.connect(process.env.DATABASE_URL, function(err, client, done) {
var newJsonDataStringyfied = JSON.stringify(myNewJsonData)
var queryString = "UPDATE users SET data = '" + newJsonDataStringyfied + "' WHERE  id = " + userIdToEdit + ";";
    client.query(queryString, function(err, result) {
        done();
        if (err) {
            res.send("Failed to update user data ");
            throw err;
        } else {
            res.send("Successfully updated user data!! ");
        }
    });
});
Run Code Online (Sandbox Code Playgroud)