[ { "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'"
我确实遇到了这个错误 - 无效参数:结束引号后必须跟一个空格或什么都不跟
我已经尝试了查询中提到的已交付和已发送的变体 带双引号、单引号,两者都是为了它
查询错误?我不知道
我认为问题是你的 JSONPath 中有单引号。尝试用双引号括起来。像这样:
JSON.SET rooms:64d9c926c17fd183a93d5e35-64d9c92dc17fd183a93d5e39 "$[?(@.status=='sent')].status" '"delivered"'
此外,我将字符串更改为在外部使用单引号。由于 JSON 中到处都是双引号,因此我总是将 JSON 用单引号括起来。只是一个好习惯。