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à.
Rimuove e restituisce un elemento nell'indice dall'array. Il prelievo di un array vuoto restituisce null.
Sintassi
JSON.ARRPOP <key> [path [index]]
-
key (obbligatorio) — Una chiave Valkey o Redis OSS di tipo documento JSON.
-
path (facoltativo) – Un percorso JSON. Se non è fornito, per impostazione predefinita viene ripristinata la radice.
-
index (facoltativo) —La posizione nell'array da cui iniziare il prelievo.
-
Viene ripristinato il valore predefinito -1 se non è fornito, ossia l'ultimo elemento.
-
Un valore negativo indica la posizione dall'ultimo elemento.
-
Gli indici fuori limite vengono arrotondati ai rispettivi limiti dell'array.
-
Valori restituiti
Se il percorso è una sintassi avanzata:
-
Array di stringhe in blocco che che rappresentano i valori prelevati in ogni percorso.
-
Se un valore è un array vuoto, il valore restituito corrispondente è null.
-
Se un valore non è un array, il valore restituito corrispondente è null.
Se il percorso è una sintassi limitata:
-
Stringa in blocco che rappresenta il valore JSON prelevato.
-
Null se l'array è vuoto.
-
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"]]'
OK
127.0.0.1:6379> JSON.ARRPOP k1 $[*]
1) (nil)
2) "\"a\""
3) "\"b\""
127.0.0.1:6379> JSON.GET k1
"[[],[],[\"a\"]]"
Sintassi limitata del percorso:
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\"]]"