JSON.NUMINCRBY - Amazon ElastiCache

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

JSON.NUMINCRBY

Incrémente les valeurs numériques au niveau du chemin d'un nombre donné.

Syntaxe

JSON.NUMINCRBY <key> <path> <number>
  • clé (obligatoire) — Une clé Valkey ou Redis de OSS type JSON document.

  • chemin (obligatoire) — Un JSON chemin.

  • number (obligatoire) : nombre.

Retour

Si le chemin est une syntaxe améliorée :

  • Tableau de chaînes en bloc qui représente la valeur résultante au niveau de chaque chemin.

  • Si une valeur n'est pas un nombre, sa valeur de retour correspondante est nulle.

  • Erreur WRONGTYPE si le nombre ne peut pas être analysé.

  • OVERFLOWerreur si le résultat est hors de la plage de 64 bits IEEE double.

  • NONEXISTENT si la clé du document n'existe pas.

Si le chemin est une syntaxe restreinte :

  • Chaîne en bloc qui représente la valeur résultante.

  • Si plusieurs valeurs sont sélectionnées, la commande renvoie le résultat de la dernière valeur mise à jour.

  • Erreur WRONGTYPE si la valeur au niveau du chemin n'est pas un nombre.

  • Erreur WRONGTYPE si le nombre ne peut pas être analysé.

  • OVERFLOWerreur si le résultat est hors de la plage de 64 bits IEEE double.

  • NONEXISTENT si la clé du document n'existe pas.

Exemples

Syntaxe de chemin améliorée :

127.0.0.1:6379> JSON.SET k1 . '{"a":[], "b":[1], "c":[1,2], "d":[1,2,3]}' OK 127.0.0.1:6379> JSON.NUMINCRBY k1 $.d[*] 10 "[11,12,13]" 127.0.0.1:6379> JSON.GET k1 "{\"a\":[],\"b\":[1],\"c\":[1,2],\"d\":[11,12,13]}" 127.0.0.1:6379> JSON.SET k1 $ '{"a":[], "b":[1], "c":[1,2], "d":[1,2,3]}' OK 127.0.0.1:6379> JSON.NUMINCRBY k1 $.a[*] 1 "[]" 127.0.0.1:6379> JSON.NUMINCRBY k1 $.b[*] 1 "[2]" 127.0.0.1:6379> JSON.NUMINCRBY k1 $.c[*] 1 "[2,3]" 127.0.0.1:6379> JSON.NUMINCRBY k1 $.d[*] 1 "[2,3,4]" 127.0.0.1:6379> JSON.GET k1 "{\"a\":[],\"b\":[2],\"c\":[2,3],\"d\":[2,3,4]}" 127.0.0.1:6379> JSON.SET k2 $ '{"a":{}, "b":{"a":1}, "c":{"a":1, "b":2}, "d":{"a":1, "b":2, "c":3}}' OK 127.0.0.1:6379> JSON.NUMINCRBY k2 $.a.* 1 "[]" 127.0.0.1:6379> JSON.NUMINCRBY k2 $.b.* 1 "[2]" 127.0.0.1:6379> JSON.NUMINCRBY k2 $.c.* 1 "[2,3]" 127.0.0.1:6379> JSON.NUMINCRBY k2 $.d.* 1 "[2,3,4]" 127.0.0.1:6379> JSON.GET k2 "{\"a\":{},\"b\":{\"a\":2},\"c\":{\"a\":2,\"b\":3},\"d\":{\"a\":2,\"b\":3,\"c\":4}}" 127.0.0.1:6379> JSON.SET k3 $ '{"a":{"a":"a"}, "b":{"a":"a", "b":1}, "c":{"a":"a", "b":"b"}, "d":{"a":1, "b":"b", "c":3}}' OK 127.0.0.1:6379> JSON.NUMINCRBY k3 $.a.* 1 "[null]" 127.0.0.1:6379> JSON.NUMINCRBY k3 $.b.* 1 "[null,2]" 127.0.0.1:6379> JSON.NUMINCRBY k3 $.c.* 1 "[null,null]" 127.0.0.1:6379> JSON.NUMINCRBY k3 $.d.* 1 "[2,null,4]" 127.0.0.1:6379> JSON.GET k3 "{\"a\":{\"a\":\"a\"},\"b\":{\"a\":\"a\",\"b\":2},\"c\":{\"a\":\"a\",\"b\":\"b\"},\"d\":{\"a\":2,\"b\":\"b\",\"c\":4}}"

Syntaxe de chemin restreinte :

127.0.0.1:6379> JSON.SET k1 . '{"a":[], "b":[1], "c":[1,2], "d":[1,2,3]}' OK 127.0.0.1:6379> JSON.NUMINCRBY k1 .d[1] 10 "12" 127.0.0.1:6379> JSON.GET k1 "{\"a\":[],\"b\":[1],\"c\":[1,2],\"d\":[1,12,3]}" 127.0.0.1:6379> JSON.SET k1 . '{"a":[], "b":[1], "c":[1,2], "d":[1,2,3]}' OK 127.0.0.1:6379> JSON.NUMINCRBY k1 .a[*] 1 (error) NONEXISTENT JSON path does not exist 127.0.0.1:6379> JSON.NUMINCRBY k1 .b[*] 1 "2" 127.0.0.1:6379> JSON.GET k1 "{\"a\":[],\"b\":[2],\"c\":[1,2],\"d\":[1,2,3]}" 127.0.0.1:6379> JSON.NUMINCRBY k1 .c[*] 1 "3" 127.0.0.1:6379> JSON.GET k1 "{\"a\":[],\"b\":[2],\"c\":[2,3],\"d\":[1,2,3]}" 127.0.0.1:6379> JSON.NUMINCRBY k1 .d[*] 1 "4" 127.0.0.1:6379> JSON.GET k1 "{\"a\":[],\"b\":[2],\"c\":[2,3],\"d\":[2,3,4]}" 127.0.0.1:6379> JSON.SET k2 . '{"a":{}, "b":{"a":1}, "c":{"a":1, "b":2}, "d":{"a":1, "b":2, "c":3}}' OK 127.0.0.1:6379> JSON.NUMINCRBY k2 .a.* 1 (error) NONEXISTENT JSON path does not exist 127.0.0.1:6379> JSON.NUMINCRBY k2 .b.* 1 "2" 127.0.0.1:6379> JSON.GET k2 "{\"a\":{},\"b\":{\"a\":2},\"c\":{\"a\":1,\"b\":2},\"d\":{\"a\":1,\"b\":2,\"c\":3}}" 127.0.0.1:6379> JSON.NUMINCRBY k2 .c.* 1 "3" 127.0.0.1:6379> JSON.GET k2 "{\"a\":{},\"b\":{\"a\":2},\"c\":{\"a\":2,\"b\":3},\"d\":{\"a\":1,\"b\":2,\"c\":3}}" 127.0.0.1:6379> JSON.NUMINCRBY k2 .d.* 1 "4" 127.0.0.1:6379> JSON.GET k2 "{\"a\":{},\"b\":{\"a\":2},\"c\":{\"a\":2,\"b\":3},\"d\":{\"a\":2,\"b\":3,\"c\":4}}" 127.0.0.1:6379> JSON.SET k3 . '{"a":{"a":"a"}, "b":{"a":"a", "b":1}, "c":{"a":"a", "b":"b"}, "d":{"a":1, "b":"b", "c":3}}' OK 127.0.0.1:6379> JSON.NUMINCRBY k3 .a.* 1 (error) WRONGTYPE JSON element is not a number 127.0.0.1:6379> JSON.NUMINCRBY k3 .b.* 1 "2" 127.0.0.1:6379> JSON.NUMINCRBY k3 .c.* 1 (error) WRONGTYPE JSON element is not a number 127.0.0.1:6379> JSON.NUMINCRBY k3 .d.* 1 "4"