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
Recherchez 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) — clé du type de JSON document
chemin (obligatoire) — un JSON chemin
json-scalar (obligatoire) — valeur scalaire à rechercher ; JSON scalaire fait référence à des valeurs qui ne sont pas des objets ou des tableaux. C'est-à-dire que String, number, boolean et null sont des valeurs scalaires.
start (facultatif) — index de départ inclus. 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 s'il n'est pas fourni, 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