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

标签 json postgresql sequelize.js

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

用户表有以下字段:id、name、info、created

信息字段具有以下结构:

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

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

最佳答案

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

UPDATE "user"
SET info = jsonb_set(info,'{device,token}','123')
WHERE id = 31;

关于json - 在 Postgres 中使用 Sequelize 更新特定 JSON 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39459894/

相关文章:

sequelize.js - 为什么 sequelize 对外键列使用不同的名称?

java - 无法解析成 JSONObject

javascript - 使用 KnockoutJS 从 API 加载字段后,将字段添加到 observableArray

json - 打印一个 Sequelize 对象(带有子依赖对象)

python - Docker-compose MemoryError

ruby-on-rails - 只查询组内最大值的记录

json - 使用Grails View 漂亮地打印JSON

postgresql - Postgres 在 CentOS 上导致交换

node.js - Gitlab CI 上的错误 : connect ECONNREFUSED 127. 0.0.1:5432

javascript - GraphQL 和 Sequelize 不返回插入的对象