簡體   English   中英

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

[英]Update a particular JSON field using Sequelize in Postgres

我有一個“用戶”表,其中一個字段“信息”是 JSON 結構:

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

信息歸檔具有以下結構:

信息:{電子郵件,密碼,設備:{類型,令牌}}

如何使用 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;
user.findOne({where: {id: 31}}).then((u) => {
u.device.update(info: {type, token})

});

這是一個用戶表。 id 為 31 來更新 type 和 token 的值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM