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.MSET
Supportato per Valkey versione 8.1 e successive.
Imposta i valori JSON per più chiavi. L'operazione è atomica. Tutti i valori sono impostati o non ne è impostato nessuno.
Sintassi
JSON.MSET key path json [ key path json ... ]
Se il percorso richiede un membro oggetto:
Se l'elemento principale non esiste, il comando restituirà l'errore NONEXISTENT.
Se l'elemento principale esiste ma non è un oggetto, il comando restituirà 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 restituirà un errore INESISTENTE.
Se il membro esiste, il suo valore verrà sostituito dal valore JSON.
Se il percorso richiede un indice di array:
Se l'elemento principale non esiste, il comando restituirà un errore INESISTENTE.
Se l'elemento principale esiste ma non è un array, il comando restituirà ERROR.
Se l'elemento principale esiste ma l'indice non è compreso nei limiti, il comando restituirà l'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.
Valori restituiti
Risposta in formato stringa semplice: 'OK' se l'operazione è andata a buon fine.
Risposta di errore semplice: se l'operazione non è riuscita.
Examples (Esempi)
Sintassi avanzata del percorso:
127.0.0.1:6379> JSON.MSET k1 . '[1,2,3,4,5]' k2 . '{"a":{"a":1, "b":2, "c":3}}' k3 . '{"a": [1,2,3,4,5]}' OK 127.0.0.1:6379> JSON.GET k1 "[1,2,3,4,5]" 127.0.0.1:6379> JSON.GET k2 "{\"a\":{\"a\":1,\"b\":2,\"c\":3}}" 127.0.0.1:6379> JSON.MSET k2 $.a.* '0' k3 $.a[*] '0' OK 127.0.0.1:6379> JSON.GET k2 "{\"a\":{\"a\":0,\"b\":0,\"c\":0}}" 127.0.0.1:6379> JSON.GET k3 "{\"a\":[0,0,0,0,0]}"
Sintassi limitata del percorso:
127.0.0.1:6379> JSON.MSET k1 . '{"name": "John","address": {"street": "123 Main St","city": "Springfield"},"phones": ["555-1234","555-5678"]}' OK 127.0.0.1:6379> JSON.MSET k1 .address.street '"21 2nd Street"' k1 .address.city '"New York"' OK 127.0.0.1:6379> JSON.GET k1 .address.street "\"21 2nd Street\"" 127.0.0.1:6379> JSON.GET k1 .address.city "\"New York\""