如何在RedisJSON嵌套结构中批量添加字段?
解决RedisJSON批量给所有inner对象添加字段的问题
你遇到的错误是因为JSON.SET不支持带通配符的动态路径作为目标路径,$..inner.newvalue里的$..是递归通配符,属于动态路径,而JSON.SET要求路径必须是静态的、指向单个明确节点的,所以会抛出"wrong static path"异常。
要实现给所有inner对象添加newvalue字段的需求,改用JSON.MERGE命令即可,它支持通配符路径来批量合并字段:
JSON.MERGE mykey $..inner '{"newvalue": "abc"}'
执行这条命令后,所有匹配$..inner的节点都会被合并入{"newvalue": "abc"},也就是给每个inner对象添加newvalue字段并赋值为"abc"。
你可以用JSON.GET命令验证结果:
JSON.GET mykey
内容的提问来源于stack exchange,提问作者jsx380
相关产品推荐
相关产品推荐

