如何使用 sequelize/postgres 添加嵌套的 JSONB 字段

How to add a nested JSONB field with sequelize/postgres

User 模型中,有一个 JSONB 字段 viewer_data 目前是 null 例如 user。需要在 viewer_data 下添加值为 1 的新字段 jwt_secret。在 viewer_data 下添加 jwt_secret 后应如下所示:

  user : {viewer_data : {"jwt_token":1}}

尝试了 setinsert 但它们都不起作用:

   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,sequelize是6.3。

当 JSONB 字段 viewer_data 为空时。更新应该像这样完成:

  user.set("viewer_data", {"prev_jwt_secret": xxx, "jwt_secret": xxx}};