JSON.ARRINDEX - Amazon ElastiCache (Redis OSS)

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.ARRINDEX

Recherche la première occurrence d'une valeur scalaire JSON dans les tableaux au niveau du chemin.

  • Les erreurs hors limites sont traitées en arrondissant l'index au début et à la fin du tableau.

  • Si start > end, retourner -1 (non trouvé).

Syntaxe

JSON.ARRINDEX <key> <path> <json-scalar> [start [end]]
  • clé (obligatoire) — Une clé Redis OSS de type document JSON.

  • path (obligatoire) : chemin JSON.

  • json-scalar (obligatoire) : valeur scalaire à rechercher. JSON scalar fait référence à des valeurs qui ne sont pas des objets ou des tableaux. C'est-à-dire que les chaînes, les nombres, les booléens et les valeurs·nulles sont des valeurs scalaires.

  • start (facultatif) : index de départ, inclusif. La valeur par défaut est 0 si elle n'est pas fournie.

  • end (facultatif) : index de fin, exclusif. La valeur par défaut est 0 si elle n'est pas fournie, ce qui signifie que le dernier élément est inclus. 0 ou -1 signifie que le dernier élément est inclus.

Retour

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

  • Tableau d'entiers. Chaque valeur est l'index de l'élément correspondant dans le tableau au niveau du chemin. La valeur est -1 si elle n'est pas trouvée.

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

Si le chemin est une syntaxe restreinte :

  • Entier, l'index de l'élément correspondant, ou -1 si non trouvé.

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

Exemples

Syntaxe de chemin améliorée :

127.0.0.1:6379> JSON.SET k1 . '[[], ["a"], ["a", "b"], ["a", "b", "c"]]' OK 127.0.0.1:6379> JSON.ARRINDEX k1 $[*] '"b"' 1) (integer) -1 2) (integer) -1 3) (integer) 1 4) (integer) 1

Syntaxe de chemin restreinte :

127.0.0.1:6379> JSON.SET k1 . '{"children": ["John", "Jack", "Tom", "Bob", "Mike"]}' OK 127.0.0.1:6379> JSON.ARRINDEX k1 .children '"Tom"' (integer) 2