You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Redis中按条件批量更新JSON的多个值?

RedisJSON按条件批量更新多个属性的实现方法

要实现按Code == 'abc'的条件批量更新JSON中的多个属性,你可以正确使用JSON.MSET命令,它支持多组key-路径-值的批量操作,每组操作都需要完整指定键、JSONPath路径和对应值。

正确命令示例

假设你需要更新feeAmount和另一个属性(比如feeType),命令格式如下:

JSON.MSET TDSS "$.accounts[?(@.Code == 'abc')].feeAdj[0].feeAmount" "\"1000\"" TDSS "$.accounts[?(@.Code == 'abc')].feeAdj[0].feeType" "\"fixed\""

关键注意事项

  • JSON.MSET的语法是重复的key path value三元组,每一个属性更新都需要单独指定键、目标路径和值,不能省略重复的键名。
  • 字符串类型的值需要用双引号包裹,在命令行环境下要注意转义(如\"1000\");数值类型则可以直接写入(比如1000无需引号)。
  • 确保你的RedisJSON版本支持带条件的JSONPath表达式([?(@.Code == 'abc')]),较旧版本可能存在兼容性问题,建议升级到最新稳定版。

验证更新结果

执行命令后,可通过JSON.GET验证更新是否生效:

JSON.GET TDSS "$.accounts[?(@.Code == 'abc')].feeAdj[0]"

内容的提问来源于stack exchange,提问作者Rishab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 02:55:57