JSON.TOGGLE - 亚马逊 ElastiCache

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

JSON.TOGGLE

在路径的 true 和 false 之间切换布尔值。

语法

JSON.TOGGLE <key> [path]
  • 密钥(必填)— JSON 文档类型的 Valkey 或 Redis OSS 密钥。

  • 路径(可选)-JSON 路径。如果未提供,则默认为根目录。

Return

如果路径是增强的语法:

  • 表示每个路径的结果布尔值的整数数组 (0 – false, 1 – true)。

  • 如果值不是布尔值,其对应的返回值为 Null。

  • 如果文档键不存在,则为 NONEXISTENT

如果路径是受限的语法:

  • 表示结果布尔值的字符串 ("true"/"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"