在 JSONB 中添加布尔字段

Adding boolean field in JSONB

我试图通过 json 请求在我的 JSON 对象中添加一个新的 bool 字段,但它不起作用。我应该如何更改请求?

update source_settings   
    set settings = settings - 'isEnabled'   ||
                   jsonb_build_object('isEnabled', settings->'isEnabled')   
where settings ? 'isEnabled';

如果你想添加一个 new 键,那么只需使用 ||

附加它
update source_settings   
    set settings = settings || jsonb_build_object('isEnabled', true)   
where not (settings ? 'isEnabled');

WHERE 子句将确保仅更改键不存在的行。因此 settings 已经包含 "isEnabled" 的行不会更改。

如果密钥不存在,那么使用 settings->'isEnabled' 就没有意义,因为它总是 return null