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 valor JSON 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): una clave OSS de Redis del tipo de documento JSON.
ruta (obligatorio): una ruta JSON.
json-scalar (obligatorio): el valor escalar para buscar . El escalar JSON 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