JSON.STRAPPEND - Amazon MemoryDB

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

Ajoutez une chaîne aux chaînes JSON au niveau du chemin.

Syntaxe

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

  • path (facultatif) — un chemin JSON. La valeur par défaut est la racine si elle n'est pas fournie

  • json_string (obligatoire) — Représentation JSON d'une chaîne. Notez qu'une chaîne JSON doit être entre guillemets, c'est-à-dire « foo"'.

Retour

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

  • Tableau d'entiers, représentant la nouvelle longueur de la chaîne à chaque chemin.

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

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

  • NONEXISTENT erreur 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.

  • Erreur WRONGTYPE si l'argument json en entrée n'est pas une chaîne JSON 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