JSON.CLEAR
语法
JSON.CLEAR key [path]
- 可用版本
- Redis Stack / JSON 2.0.0
- 时间复杂度
- 当路径被解析为单个值时为 O(N),其中 N 是值的大小;当路径被解析为多个值时为 O(N),其中 N 是键的大小。
清除容器值(数组/对象)并将数值设置为 0
。
必填参数
key
是要解析的键。
可选参数
path
是用于指定 JSONPath 的参数。默认为根 $
。不存在的路径将被忽略。
返回值
JSON.CLEAR 返回一个整数回复,指定被清除的 JSON 数组和对象的匹配数量 + 被设置为 0 的 JSON 数值匹配数量。有关回复的更多信息,请参见 Redis 序列化协议规范.
注意
已清除的值对于空容器和零数字会被忽略。示例
清除容器值并将数值设置为 0
创建一个 JSON 文档。
redis> JSON.SET doc $ '{"obj":{"a":1, "b":2}, "arr":[1,2,3], "str": "foo", "bool": true, "int": 42, "float": 3.14}'
OK
清除所有容器值。这将返回具有被清除值的对象的数量。
redis> JSON.CLEAR doc $.*
(integer) 4
获取更新后的文档。请注意,数值已设置为 0
。
redis> JSON.GET doc $
"[{\"obj\":{},\"arr\":[],\"str\":\"foo\",\"bool\":true,\"int\":0,\"float\":0}]"
参见
JSON.ARRINDEX
| JSON.ARRINSERT