JSON.ARRINDEX - Amazon MemoryDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

JSON.ARRINDEX

Sucht nach dem ersten Vorkommen eines JSON Skalarwerts in den Arrays am Pfad.

  • Fehler außerhalb des Bereichs werden behandelt, indem der Index auf den Anfang und das Ende des Arrays gerundet wird.

  • Wenn start > end, return -1 (nicht gefunden).

Syntax

JSON.ARRINDEX <key> <path> <json-scalar> [start [end]]
  • key (erforderlich) — Schlüssel des Dokumenttyps JSON

  • path (erforderlich) — ein JSON Pfad

  • json-scalar (erforderlich) — Skalarwert, nach dem gesucht werden soll; JSON Skalar bezieht sich auf Werte, die keine Objekte oder Arrays sind. Das heißt, String, Zahl, Boolean und Null sind Skalarwerte.

  • start (optional) — Startindex, einschließlich. Es gilt der Standardwert „0“, falls nicht vorhanden.

  • end (optional) — Endindex, exklusiv. Der Standardwert ist 0, falls nicht angegeben, was bedeutet, dass das letzte Element enthalten ist. 0 oder -1 bedeutet, dass das letzte Element enthalten ist.

Ergebnis

Wenn der Pfad eine erweiterte Syntax ist:

  • Array von ganzen Zahlen. Jeder Wert ist der Index des übereinstimmenden Elements im Array am Pfad. Der Wert ist -1, falls nicht gefunden.

  • Wenn ein Wert kein Array ist, ist der entsprechende Rückgabewert Null.

Wenn der Pfad eine eingeschränkte Syntax hat:

  • Ganzzahl, der Index des übereinstimmenden Elements oder -1, falls nicht gefunden.

  • WRONGTYPE-Fehler, wenn der Wert im Pfad kein Array ist.

Beispiele

Erweiterte Pfad-Syntax:

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

Eingeschränkte Pfad-Syntax:

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