0

我正在尝试将 JSON 插入数据类型为 JSON 的 Postgresql 列中,但我无法找到如何执行此操作。据我所知,这是不正确的,因为它只是每次都覆盖它,而不是添加一个新的密钥对。

我正在使用 pg-promise 节点模块来执行这些查询。这是我到目前为止所拥有的:

db.query("UPDATE meditation_database SET completed=$1 WHERE user_id=$2", [{myVar : true}, user_id]);

'myVar' 也应该更新为变量值,而是将其视为字符串。我怎样才能得到 'myVar' 的实际值,而不是按字面意思对待它。

谢谢,

4

1 回答 1

0

我正在尝试将 JSON 插入数据类型为 JSON 的 Postgresql 列中,但我无法找到如何执行此操作。

通过执行这个:

db.query("INSERT INTO meditation_database(completed, user_id) VALUES($1, $2)", 
          [{myVar : true}, user_id]);

'myVar' 也应该更新为变量值,而是将其视为字符串。我怎样才能得到 'myVar' 的实际值,而不是按字面意思对待它。

myVar被序列化为 JSON 作为字符串,这是属性名称的正确 JSON 格式,并且是 PostgreSQL 将接受的唯一格式。

据我所知,这是不正确的,因为它只是每次都覆盖它,而不是添加一个新的密钥对。

如果你问如何在 PostgreSQL 中更新 JSON,这个问题之前已经回答过,并且非常详细:如何修改新 PostgreSQL JSON 数据类型中的字段?

于 2015-11-21T03:08:01.553 回答