JSON.ARRINDEX - Amazon MemoryDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

JSON.ARRINDEX

Cerca la prima occorrenza di un JSON valore scalare negli array del percorso.

  • Gli errori “fuori intervallo” vengono gestiti arrotondando l'indice all'inizio e alla fine dell'array.

  • Se l’inizio è maggiore della fine, restituisce -1 (non trovato).

Sintassi

JSON.ARRINDEX <key> <path> <json-scalar> [start [end]]
  • chiave (obbligatoria) — chiave del tipo di documento JSON

  • path (richiesto) — un JSON percorso

  • json-scalar (obbligatorio) — valore scalare da cercare; JSON scalar si riferisce a valori che non sono oggetti o array. Ad esempio, String, number, boolean e null sono valori scalari.

  • start (opzionale) — indice di avvio, incluso. Se non è fornito, viene utilizzata l’impostazione predefinita, 0.

  • end (opzionale) — indice finale, esclusivo. Il valore predefinito è 0 se non viene fornito, il che significa che è incluso l'ultimo elemento. 0 o -1 significa che l'ultimo elemento è incluso.

Valori restituiti

Se il percorso è una sintassi avanzata:

  • Array di numeri interi. Ogni valore è l'indice dell'elemento corrispondente nell'array nel percorso. Se non viene trovato, il valore è -1.

  • Se un valore non è un array, il valore restituito corrispondente è null.

Se il percorso è una sintassi limitata:

  • Numero intero, l'indice dell'elemento corrispondente o -1 se non viene trovato.

  • Errore WRONGTYPE se il valore nel percorso non è un array.

Examples (Esempi)

Sintassi avanzata del percorso:

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

Sintassi limitata del percorso:

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