Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
JSON.MSET
Compatible con la versión 8.1 y superior de Valkey.
Establezca los valores de JSON para varias claves. La operación es atómica. O bien se han establecido todos los valores o no se ha establecido ninguno.
Sintaxis
JSON.MSET key path json [ key path json ... ]
Si la ruta de acceso llama a un miembro de objeto:
Si el elemento principal no existe, el comando devolverá un error INEXISTENTE.
Si el elemento principal existe pero no es un objeto, el comando devolverá ERROR.
Si el elemento principal existe y es un objeto:
Si el miembro no existe, se anexará un miembro nuevo al objeto principal si y solo si el objeto principal es el último objeto secundario de la ruta. De lo contrario, el comando devolverá un error INEXISTENTE.
Si el miembro existe, su valor se reemplazará por el valor JSON.
Si la ruta requiere un índice de matriz:
Si el elemento principal no existe, el comando devolverá un error INEXISTENTE.
Si el elemento principal existe pero no es una matriz, el comando devolverá ERROR.
Si el elemento principal existe pero el índice está fuera de los límites, el comando devuelve un error OUTOFBOUNDARIES.
Si el elemento principal existe y el índice es válido, el elemento se reemplazará por el nuevo valor JSON.
Si la ruta llama a un objeto o matriz, el valor (objeto o matriz) se reemplazará por el nuevo valor JSON.
Devolución
Respuesta de cadena simple: «OK» si la operación se realizó correctamente.
Respuesta de error simple: si la operación falló.
Ejemplos
Sintaxis de la ruta mejorada:
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]}"
Sintaxis de la ruta restringida:
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\""