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.ARRPOP
Entfernt und gibt ein Element am Index aus dem Array zurück. Das Öffnen eines leeren Arrays gibt null zurück.
Syntax
JSON.ARRPOP <key> [path [index]]
-
key (erforderlich) — Ein Valkey- oder OSS Redis-Schlüssel vom JSON Dokumenttyp.
-
path (optional) — Ein JSON Pfad. Es gilt der Root-Standardwert, falls nicht angegeben.
-
index (optional) —Die Position im Array, von der aus das Popping beginnen soll.
-
Ist standardmäßig -1, falls nicht angegeben, was auf das letzte Element verweist.
-
Negativer Wert bedeutet Position vom letzten Element.
-
Außerhalb der Grenzen liegende Indizes werden auf ihre jeweiligen Array-Grenzen gerundet.
-
Ergebnis
Wenn der Pfad eine erweiterte Syntax ist:
-
Array von Bulk-Strings, die eingeblendete Werte auf jedem Pfad darstellen.
-
Wenn ein Wert ein leeres Array ist, ist der entsprechende Rückgabewert Null.
-
Wenn ein Wert kein Array ist, ist der entsprechende Rückgabewert Null.
Wenn der Pfad eine eingeschränkte Syntax hat:
-
Bulk-Zeichenfolge, die den JSON Popup-Wert darstellt.
-
Null, wenn das Array leer ist.
-
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"]]' OK 127.0.0.1:6379> JSON.ARRPOP k1 $[*] 1) (nil) 2) "\"a\"" 3) "\"b\"" 127.0.0.1:6379> JSON.GET k1 "[[],[],[\"a\"]]"
Eingeschränkte Pfad-Syntax:
127.0.0.1:6379> JSON.SET k1 . '[[], ["a"], ["a", "b"]]' OK 127.0.0.1:6379> JSON.ARRPOP k1 "[\"a\",\"b\"]" 127.0.0.1:6379> JSON.GET k1 "[[],[\"a\"]]" 127.0.0.1:6379> JSON.SET k2 . '[[], ["a"], ["a", "b"]]' OK 127.0.0.1:6379> JSON.ARRPOP k2 . 0 "[]" 127.0.0.1:6379> JSON.GET k2 "[[\"a\"],[\"a\",\"b\"]]"