Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
JSON.ARRINDEX
Busca la primera aparición de un JSON valor escalar en las matrices de la ruta.
Los errores fuera de rango se tratan redondeando el índice al principio y al final de la matriz.
Si inicio > fin, devuelve -1 (no encontrado).
Sintaxis
JSON.ARRINDEX <key> <path> <json-scalar> [start [end]]
clave (obligatoria): clave Valkey o Redis OSS de tipo documento. JSON
ruta (obligatoria): una JSON ruta.
json-scalar (obligatorio): el valor escalar para buscar . JSONescalar se refiere a valores que no son objetos ni matrices. Es decir, cadena, número, Booleano y nulo son valores escalares.
inicio (opcional): el índice de inicio, inclusivo. Toma 0 como valor predeterminado si no se proporciona.
final (opcional): el índice final, exclusivo. Toma 0 como valor predeterminado si no se proporciona, lo que significa que se incluye el último elemento. 0 o -1 significa que se incluye el último elemento.
Devolución
Si la ruta es de sintaxis mejorada:
Matriz de números enteros. Cada valor es el índice del elemento coincidente de la matriz en la ruta. El valor es -1 si no se encuentra.
-
Si un valor no es una matriz, su valor devuelto correspondiente es nulo.
Si la ruta es de sintaxis restringida:
Entero, el índice del elemento coincidente o -1 si no se encuentra.
-
Error
WRONGTYPE
si el valor de la ruta no es una matriz.
Ejemplos
Sintaxis de la ruta mejorada:
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
Sintaxis de la ruta restringida:
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