JSON.ARRINDEX - Amazon ElastiCache

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