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 (obligatorio): clave del tipo de documento JSON
ruta (obligatoria): ruta JSON
json-scalar (obligatorio): valor escalar que se debe buscar; el escalar JSON hace referencia a valores que no son objetos ni matrices. Es decir, las cadenas, números, booleanos y el valor nulo son escalares.
inicio (opcional): índice de inicio, inclusivo. Toma 0 como valor predeterminado si no se proporciona.
final (opcional): índice de 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