

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# JSON.MSET
<a name="json-mset"></a>

Compatível com Valkey versão 8.1 e superior.

Defina valores JSON para várias chaves. A operação é atômica. Todos os valores estão definidos ou nenhum está definido.

**Sintaxe**

```
JSON.MSET key path json [ key path json ... ]
```
+ Se o caminho exigir um membro do objeto:
  + Se o elemento pai não existir, o comando retornará o erro NONEXISTENT.
  + Se o elemento pai existir, mas não for um objeto, o comando retornará ERROR.
  + Se o elemento pai existir e for um objeto:
    + Se o membro não existir, um novo membro será anexado ao objeto pai se e somente se o objeto pai for o último filho no caminho. Caso contrário, o comando retornará o erro NONEXISTENT.
    + Se o membro existir, seu valor será substituído pelo valor JSON.
+ Se o caminho exigir um índice de matriz:
  + Se o elemento pai não existir, o comando retornará o erro NONEXISTENT.
  + Se o elemento pai existir, mas não for uma matriz o comando retornará ERROR.
  + Se o elemento pai existir, mas o índice estiver fora dos limites, o comando retornará o erro OUTOFBOUNDARIES.
  + Se o elemento pai existir e o índice for válido, o elemento será substituído pelo novo valor JSON.
+ Se o caminho solicitar um objeto ou matriz, o valor (objeto ou matriz) será substituído pelo novo valor JSON.

**Return**
+ Resposta de sequência de caracteres simples: 'OK' se a operação foi bem-sucedida.
+ Resposta de erro simples: se a operação falhar.

**Exemplos**

Sintaxe do caminho aprimorada:

```
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]}"
```

Sintaxe do caminho restrita:

```
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\""
```