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 JSON valeur scalaire dans les tableaux situés sur le 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é Valkey ou Redis de OSS type JSON document.
chemin (obligatoire) — Un JSON chemin.
json-scalar (obligatoire) : valeur scalaire à rechercher. JSONscalaire 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