更新多个 jsonb 值
Update multiple jsonb values
我试图每个月创建一个 cron 到 运行 以在带有 postgres 数据库的 ndoe 应用程序中更新 jsonb 字段的一些键。
在我的数据库中,我有一个 jsonb 字段,其中包含 "disk_alert"、"temepratures_alert"、"consumptions_alert" 等键,我想执行类似
的操作
Postgres:
UPDATE devices SET
data=jsonb_set(data::jsonb,'{disk_alert}','false'::jsonb,true),
modified_date=NOW()
WHERE id= AND NOT deleted;
节点:
client.query("UPDATE devices SET data=jsonb_set(data::jsonb,'{disk_alert}','false'::jsonb,true), modified_date=NOW() WHERE id= AND NOT deleted", [deviceId]
但是如何添加其他键 "consumptions_alert" 和 "temperatures_alert" ??我读了一些关于使用连接 || 的东西运营商,但如何做到这一点?
您可以像这样使用连接运算符:
UPDATE devices SET
data = data::jsonb || '{"disk_alert": false, "temepratures_alert": false}',
modified_date = NOW()
WHERE id= AND NOT deleted;
我试图每个月创建一个 cron 到 运行 以在带有 postgres 数据库的 ndoe 应用程序中更新 jsonb 字段的一些键。
在我的数据库中,我有一个 jsonb 字段,其中包含 "disk_alert"、"temepratures_alert"、"consumptions_alert" 等键,我想执行类似
的操作Postgres:
UPDATE devices SET
data=jsonb_set(data::jsonb,'{disk_alert}','false'::jsonb,true),
modified_date=NOW()
WHERE id= AND NOT deleted;
节点:
client.query("UPDATE devices SET data=jsonb_set(data::jsonb,'{disk_alert}','false'::jsonb,true), modified_date=NOW() WHERE id= AND NOT deleted", [deviceId]
但是如何添加其他键 "consumptions_alert" 和 "temperatures_alert" ??我读了一些关于使用连接 || 的东西运营商,但如何做到这一点?
您可以像这样使用连接运算符:
UPDATE devices SET
data = data::jsonb || '{"disk_alert": false, "temepratures_alert": false}',
modified_date = NOW()
WHERE id= AND NOT deleted;