在Postgres中使用Sequelize更新特定JSON字段

在Postgres中使用Sequelize更新特定JSON字段,json,postgresql,sequelize.js,Json,Postgresql,Sequelize.js,我有一个“user”表,其中一个字段“info”是JSON结构: 用户表包含以下字段:id、名称、信息、已创建 “信息”字段具有以下结构: 信息:{ 电子邮件, 密码, 设备:{ 类型, 代币 } } 如何使用Sequelize更新Postgres中特定用户的令牌字段?我知道这是一个关于Sequelize.js的问题,但我对它了解不多,所以让我给出一个关于postgresql的一般回答(可以忽略它)。首先,postgresql不支持修改json值json列主要用于在数据库中存储json数据,而不

我有一个“user”表,其中一个字段“info”是JSON结构:

用户表包含以下字段:id、名称、信息、已创建

“信息”字段具有以下结构:

信息:{ 电子邮件, 密码, 设备:{ 类型, 代币 } }


如何使用Sequelize更新Postgres中特定用户的令牌字段?

我知道这是一个关于
Sequelize.js
的问题,但我对它了解不多,所以让我给出一个关于postgresql的一般回答(可以忽略它)。首先,postgresql不支持修改
json
json
列主要用于在数据库中存储json数据,而不是操作json数据。如果您真的想操作数据库中的JSON数据,那么必须使用
jsonb
jsonb
可以在
jsonb_set
函数和
|
操作符的帮助下进行修改。在您的情况下,如果可以运行原始SQL查询,则可以执行以下操作:

UPDATE "user"
SET info = jsonb_set(info,'{device,token}','123')
WHERE id = 31;
这是一个用户表。
id为31以更新type和token的值

您找到通过sequelize更新json字段的方法了吗?
user.findOne({where: {id: 31}}).then((u) => {
u.device.update(info: {type, token})

});