问题:Redis JSON CLI SET命令更新对象中的变量

ia2d9nvy  于 2023-10-15  发布在  Redis
关注(0)|答案(1)|浏览(133)

[ { "senderID": "64d9c926c17fd183a93d5e35", "receiverID": "64d9c92dc17fd183a93d5e39", "timestamp": "2023-08-14T07:39:45.946Z", "content": "bru", "status": "delivered", "type": "chat", "messageID": "8188946b-67e4-4d86-a927-32842361825c" }, ... ]

JSON.SET rooms:64d9c926c17fd183a93d5e35-64d9c92dc17fd183a93d5e39 $[?(@.status=='sent')].status "'delivered'"

Redis JSON Query Image on redis cli
我确实得到了错误-无效参数:结束引号后面必须跟一个空格或什么都不跟
我尝试了查询中提到的delivered和sent的各种变体,包括双引号、单引号和双引号
错误查询?idk

wqnecbli

wqnecbli1#

我认为问题是你的JSONPath中有单引号。试着用双引号括起来。就像这样:

JSON.SET rooms:64d9c926c17fd183a93d5e35-64d9c92dc17fd183a93d5e39 "$[?(@.status=='sent')].status" '"delivered"'

此外,我还将字符串更改为在外部使用单引号。由于JSON中到处都是双引号,所以我总是用单引号 Package JSON。只是个好习惯。

相关问题