本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
JSON.TOGGLE
在路径处在 true 和 false 之间切换布尔值。
语法
JSON.TOGGLE <key> [path]
key(必需)— JSON 文档类型的 Redis 键
路径(可选)— 一个 JSON 路径。如果未提供,则默认为根目录
返回值
如果路径是增强的语法:
整数数组(0-false,1-true),代表每条路径的生成的布尔值。
-
如果值不是布尔值,其对应的返回值为 Null。
-
如果文档键不存在,则为
NONEXISTENT
。
如果路径是受限的语法:
代表生成的布尔值的字符串(“真”/“false”)。
-
如果文档键不存在,则为
NONEXISTENT
。 -
WRONGTYPE
如果路径中的值不是布尔值,则为错误。
示例
增强的路径语法:
127.0.0.1:6379> JSON.SET k1 . '{"a":true, "b":false, "c":1, "d":null, "e":"foo", "f":[], "g":{}}' OK 127.0.0.1:6379> JSON.TOGGLE k1 $.* 1) (integer) 0 2) (integer) 1 3) (nil) 4) (nil) 5) (nil) 6) (nil) 7) (nil) 127.0.0.1:6379> JSON.TOGGLE k1 $.* 1) (integer) 1 2) (integer) 0 3) (nil) 4) (nil) 5) (nil) 6) (nil) 7) (nil)
受限的路径语法:
127.0.0.1:6379> JSON.SET k1 . true OK 127.0.0.1:6379> JSON.TOGGLE k1 "false" 127.0.0.1:6379> JSON.TOGGLE k1 "true" 127.0.0.1:6379> JSON.SET k2 . '{"isAvailable": false}' OK 127.0.0.1:6379> JSON.TOGGLE k2 .isAvailable "true" 127.0.0.1:6379> JSON.TOGGLE k2 .isAvailable "false"