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.SET
Imposta valori JSON nel percorso.
Se il percorso richiede un membro oggetto:
Se l'elemento padre non esiste, il comando restituisce un errore NONEXISTENT.
Se l'elemento padre esiste ma non è un oggetto, il comando restituisce ERROR.
Se l'elemento padre esiste ed è un oggetto:
Se il membro non esiste, un nuovo membro verrà accodato all'oggetto padre se e solo se l'oggetto padre è l'ultimo figlio nel percorso. In caso contrario, il comando restituisce un errore NONEXISTENT.
Se il membro esiste, il suo valore verrà sostituito dal valore JSON.
Se il percorso richiede un indice di array:
Se l'elemento padre non esiste, il comando restituisce un errore NONEXISTENT.
Se l'elemento padre esiste ma non è un array, il comando restituisce ERROR.
Se l'elemento padre esiste ma l'indice è esterno ai limiti, il comando restituisce un errore OUTOFBOUNDARIES.
Se l'elemento padre esiste e l'indice è valido, l'elemento verrà sostituito dal nuovo valore JSON.
Se il percorso richiede un oggetto o un array, il valore (oggetto o array) verrà sostituito dal nuovo valore JSON.
Sintassi
JSON.SET <key> <path> <json> [NX | XX]
[NX | XX] Dove è possibile avere 0 o 1 identificatori [NX | XX].
key (obbligatorio) — Una chiave Redis OSS di tipo documento JSON.
path (richiesto) – Un percorso JSON. Per una nuova chiave Redis OSS, il percorso JSON deve essere la radice «.».
NX (opzionale): se il percorso è la radice, imposta il valore solo se la chiave Redis OSS non esiste. Inserire, cioè, un nuovo documento. Se il percorso non è la radice, impostare il valore solo se il percorso non esiste. Inserire, cioè, un valore nel documento.
XX (opzionale) — Se il percorso è la radice, imposta il valore solo se esiste la chiave Redis OSS. Sostituire, cioè, il documento esistente. Se il percorso non è la radice, impostare il valore solo se il percorso esiste. Aggiornare, cioè, il valore esistente.
Valori restituiti
Stringa semplice 'OK' se l’esito è positivo.
-
Null se la condizione NX o XX non viene soddisfatta.
Examples (Esempi)
Sintassi avanzata del percorso:
127.0.0.1:6379> JSON.SET k1 . '{"a":{"a":1, "b":2, "c":3}}' OK 127.0.0.1:6379> JSON.SET k1 $.a.* '0' OK 127.0.0.1:6379> JSON.GET k1 "{\"a\":{\"a\":0,\"b\":0,\"c\":0}}" 127.0.0.1:6379> JSON.SET k2 . '{"a": [1,2,3,4,5]}' OK 127.0.0.1:6379> JSON.SET k2 $.a[*] '0' OK 127.0.0.1:6379> JSON.GET k2 "{\"a\":[0,0,0,0,0]}"
Sintassi limitata del percorso:
127.0.0.1:6379> JSON.SET k1 . '{"c":{"a":1, "b":2}, "e": [1,2,3,4,5]}' OK 127.0.0.1:6379> JSON.SET k1 .c.a '0' OK 127.0.0.1:6379> JSON.GET k1 "{\"c\":{\"a\":0,\"b\":2},\"e\":[1,2,3,4,5]}" 127.0.0.1:6379> JSON.SET k1 .e[-1] '0' OK 127.0.0.1:6379> JSON.GET k1 "{\"c\":{\"a\":0,\"b\":2},\"e\":[1,2,3,4,0]}" 127.0.0.1:6379> JSON.SET k1 .e[5] '0' (error) OUTOFBOUNDARIES Array index is out of bounds