我有一个“用户”表,其中一个字段“信息”是 JSON 结构:

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

信息归档具有以下结构:

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

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

最佳答案

我知道这是一个关于 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;

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

10-16 22:42