问题描述
在User
模型中,有一个JSONB
字段viewer_data
,例如,null
当前是user
。需要在jwt_secret
下添加一个值为1的新字段viewer_data
。在jwt_secret
下添加viewer_data
后,其外观应如下所示:
user : {viewer_data : {"jwt_token":1}}
尝试了set
和insert
,但它们都不起作用:
user = await User.findByPk(id);
console.log(user.viewer_data); //<<==output is null
//
user.set("viewer_data.jwt_secret",1); //<<==throw an error of can't convert null to object as viewer_data is null
user.insert("view_data.jwt_secret",1); //<<==error as insert is not a function
postgres版本是11,后继版本是6.3。
解决方法
当JSONB字段viewer_data
为空时。更新应这样进行:
user.set("viewer_data",{"prev_jwt_secret": xxx,"jwt_secret": xxx}};