JSON.DEL
删除文档键中路径处的 JSON 值。如果路径是根目录,则相当于从 Valkey 或 Redis OSS 中删除键。
语法
JSON.DEL <key> [path]
key(必需)– JSON 文档类型的键
path(可选)– 一个 JSON 路径。如果未提供,则默认为根目录
Return
已删除元素的数量。
-
如果键不存在,则为 0。
-
如果 JSON 路径无效或不存在,则为 0。
示例
增强的路径语法:
127.0.0.1:6379> JSON.SET k1 . '{"a":{}, "b":{"a":1}, "c":{"a":1, "b":2}, "d":{"a":1, "b":2, "c":3}, "e": [1,2,3,4,5]}' OK 127.0.0.1:6379> JSON.DEL k1 $.d.* (integer) 3 127.0.0.1:6379> JSOn.GET k1 "{\"a\":{},\"b\":{\"a\":1},\"c\":{\"a\":1,\"b\":2},\"d\":{},\"e\":[1,2,3,4,5]}" 127.0.0.1:6379> JSON.DEL k1 $.e[*] (integer) 5 127.0.0.1:6379> JSOn.GET k1 "{\"a\":{},\"b\":{\"a\":1},\"c\":{\"a\":1,\"b\":2},\"d\":{},\"e\":[]}"
受限的路径语法:
127.0.0.1:6379> JSON.SET k1 . '{"a":{}, "b":{"a":1}, "c":{"a":1, "b":2}, "d":{"a":1, "b":2, "c":3}, "e": [1,2,3,4,5]}' OK 127.0.0.1:6379> JSON.DEL k1 .d.* (integer) 3 127.0.0.1:6379> JSON.GET k1 "{\"a\":{},\"b\":{\"a\":1},\"c\":{\"a\":1,\"b\":2},\"d\":{},\"e\":[1,2,3,4,5]}" 127.0.0.1:6379> JSON.DEL k1 .e[*] (integer) 5 127.0.0.1:6379> JSON.GET k1 "{\"a\":{},\"b\":{\"a\":1},\"c\":{\"a\":1,\"b\":2},\"d\":{},\"e\":[]}"