JSON.STRAPPEND - 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.STRAPPEND

Ajoute une chaîne aux JSON chaînes situées sur le chemin.

Syntaxe

JSON.STRAPPEND <key> [path] <json_string>
  • clé (obligatoire) — Une clé Valkey ou Redis de OSS type JSON document.

  • path (facultatif) — Un JSON chemin. Par défaut, il s'agit de la racine si elle n'est pas fournie.

  • json_string (obligatoire) — La JSON représentation d'une chaîne. Notez qu'une JSON chaîne doit être entre guillemets. Par exemple : « "exemple de chaîne" ».

Retour

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

  • Tableau d'entiers qui représentent la nouvelle longueur de la chaîne au niveau de chaque chemin.

  • Si une valeur au niveau du chemin n'est pas une chaîne, sa valeur de retour correspondante est nulle.

  • SYNTAXERRerreur si l'argument json d'entrée n'est pas une JSON chaîne valide.

  • Erreur NONEXISTENT si le chemin n'existe pas.

Si le chemin est une syntaxe restreinte :

  • Entier, la nouvelle longueur de la chaîne.

  • Si plusieurs valeurs de chaîne sont sélectionnées, la commande renvoie la nouvelle longueur de la dernière chaîne mise à jour.

  • Erreur WRONGTYPE si la valeur au niveau du chemin n'est pas une chaîne.

  • WRONGTYPEerreur si l'argument json d'entrée n'est pas une JSON chaîne valide.

  • Erreur NONEXISTENT si le chemin n'existe pas.

Exemples

Syntaxe de chemin améliorée :

127.0.0.1:6379> JSON.SET k1 $ '{"a":{"a":"a"}, "b":{"a":"a", "b":1}, "c":{"a":"a", "b":"bb"}, "d":{"a":1, "b":"b", "c":3}}' OK 127.0.0.1:6379> JSON.STRAPPEND k1 $.a.a '"a"' 1) (integer) 2 127.0.0.1:6379> JSON.STRAPPEND k1 $.a.* '"a"' 1) (integer) 3 127.0.0.1:6379> JSON.STRAPPEND k1 $.b.* '"a"' 1) (integer) 2 2) (nil) 127.0.0.1:6379> JSON.STRAPPEND k1 $.c.* '"a"' 1) (integer) 2 2) (integer) 3 127.0.0.1:6379> JSON.STRAPPEND k1 $.c.b '"a"' 1) (integer) 4 127.0.0.1:6379> JSON.STRAPPEND k1 $.d.* '"a"' 1) (nil) 2) (integer) 2 3) (nil)

Syntaxe de chemin restreinte :

127.0.0.1:6379> JSON.SET k1 . '{"a":{"a":"a"}, "b":{"a":"a", "b":1}, "c":{"a":"a", "b":"bb"}, "d":{"a":1, "b":"b", "c":3}}' OK 127.0.0.1:6379> JSON.STRAPPEND k1 .a.a '"a"' (integer) 2 127.0.0.1:6379> JSON.STRAPPEND k1 .a.* '"a"' (integer) 3 127.0.0.1:6379> JSON.STRAPPEND k1 .b.* '"a"' (integer) 2 127.0.0.1:6379> JSON.STRAPPEND k1 .c.* '"a"' (integer) 3 127.0.0.1:6379> JSON.STRAPPEND k1 .c.b '"a"' (integer) 4 127.0.0.1:6379> JSON.STRAPPEND k1 .d.* '"a"' (integer) 2