Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
JSON.MSET
Pris en charge pour Valkey version 8.1 et versions ultérieures.
Définissez des valeurs JSON pour plusieurs clés. L'opération est atomique. Toutes les valeurs sont définies ou aucune n'est définie.
Syntaxe
JSON.MSET key path json [ key path json ... ]
Si le chemin fait appel à un membre d'objet :
Si l'élément parent n'existe pas, la commande renvoie une erreur NON EXISTANTE.
Si l'élément parent existe mais n'est pas un objet, la commande renvoie ERROR.
Si l'élément parent existe et est un objet :
Si l'élément n'existe pas, un nouvel élément sera ajouté à l'objet parent si et seulement si l'objet parent est le dernier enfant dans le chemin. Sinon, la commande renverra une erreur INEXISTANTE.
Si le membre existe, sa valeur sera remplacée par la valeur JSON.
Si le chemin fait appel à un index de tableau :
Si l'élément parent n'existe pas, la commande renvoie une erreur INEXISTANTE.
Si l'élément parent existe mais qu'il ne s'agit pas d'un tableau, la commande renvoie ERROR.
Si l'élément parent existe mais que l'index est hors limites, la commande renvoie l'erreur OUTOFBOUNDARIES.
Si l'élément parent existe et que l'index est valide, l'élément sera remplacé par la nouvelle valeur JSON.
Si le chemin fait appel à un objet ou à un tableau, la valeur (objet ou tableau) sera remplacée par la nouvelle valeur JSON.
Retour
Réponse sous forme de chaîne simple : « OK » si l'opération a réussi.
Réponse d'erreur simple : si l'opération a échoué.
Exemples
Syntaxe de chemin améliorée :
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]}"
Syntaxe de chemin restreinte :
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\""