JSON.NUMMULTBY - Amazon ElastiCache (RedisOSS)

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.NUMMULTBY

Multiplie les valeurs numériques au niveau du chemin par un nombre donné.

Syntaxe

JSON.NUMMULTBY <key> <path> <number>
  • clé (obligatoire) — Une clé Redis OSS de type document JSON.

  • path (obligatoire) : chemin JSON.

  • number (obligatoire) : nombre.

Retour

Si le chemin est une syntaxe améliorée :

  • Tableau de chaînes en bloc qui représentent la valeur résultante au niveau de chaque chemin.

  • Si une valeur n'est pas un nombre, sa valeur de retour correspondante est nulle.

  • Erreur WRONGTYPE si le nombre ne peut pas être analysé.

  • Erreur OVERFLOW si le résultat est hors de la plage d'un nombre à virgule flottante IEEE à double précision de 64 bits.

  • NONEXISTENT si la clé du document n'existe pas.

Si le chemin est une syntaxe restreinte :

  • Chaîne en bloc qui représente la valeur résultante.

  • Si plusieurs valeurs sont sélectionnées, la commande renvoie le résultat de la dernière valeur mise à jour.

  • Erreur WRONGTYPE si la valeur au niveau du chemin n'est pas un nombre.

  • Erreur WRONGTYPE si le nombre ne peut pas être analysé.

  • Erreur OVERFLOW si le résultat est en dehors de la plage d'un double IEEE de 64 bits.

  • NONEXISTENT si la clé du document n'existe pas.

Exemples

Syntaxe de chemin améliorée :

127.0.0.1:6379> JSON.SET k1 . '{"a":[], "b":[1], "c":[1,2], "d":[1,2,3]}' OK 127.0.0.1:6379> JSON.NUMMULTBY k1 $.d[*] 2 "[2,4,6]" 127.0.0.1:6379> JSON.GET k1 "{\"a\":[],\"b\":[1],\"c\":[1,2],\"d\":[2,4,6]}" 127.0.0.1:6379> JSON.SET k1 $ '{"a":[], "b":[1], "c":[1,2], "d":[1,2,3]}' OK 127.0.0.1:6379> JSON.NUMMULTBY k1 $.a[*] 2 "[]" 127.0.0.1:6379> JSON.NUMMULTBY k1 $.b[*] 2 "[2]" 127.0.0.1:6379> JSON.NUMMULTBY k1 $.c[*] 2 "[2,4]" 127.0.0.1:6379> JSON.NUMMULTBY k1 $.d[*] 2 "[2,4,6]" 127.0.0.1:6379> JSON.SET k2 $ '{"a":{}, "b":{"a":1}, "c":{"a":1, "b":2}, "d":{"a":1, "b":2, "c":3}}' OK 127.0.0.1:6379> JSON.NUMMULTBY k2 $.a.* 2 "[]" 127.0.0.1:6379> JSON.NUMMULTBY k2 $.b.* 2 "[2]" 127.0.0.1:6379> JSON.NUMMULTBY k2 $.c.* 2 "[2,4]" 127.0.0.1:6379> JSON.NUMMULTBY k2 $.d.* 2 "[2,4,6]" 127.0.0.1:6379> JSON.SET k3 $ '{"a":{"a":"a"}, "b":{"a":"a", "b":1}, "c":{"a":"a", "b":"b"}, "d":{"a":1, "b":"b", "c":3}}' OK 127.0.0.1:6379> JSON.NUMMULTBY k3 $.a.* 2 "[null]" 127.0.0.1:6379> JSON.NUMMULTBY k3 $.b.* 2 "[null,2]" 127.0.0.1:6379> JSON.NUMMULTBY k3 $.c.* 2 "[null,null]" 127.0.0.1:6379> JSON.NUMMULTBY k3 $.d.* 2 "[2,null,6]"

Syntaxe de chemin restreinte :

127.0.0.1:6379> JSON.SET k1 . '{"a":[], "b":[1], "c":[1,2], "d":[1,2,3]}' OK 127.0.0.1:6379> JSON.NUMMULTBY k1 .d[1] 2 "4" 127.0.0.1:6379> JSON.GET k1 "{\"a\":[],\"b\":[1],\"c\":[1,2],\"d\":[1,4,3]}" 127.0.0.1:6379> JSON.SET k1 . '{"a":[], "b":[1], "c":[1,2], "d":[1,2,3]}' OK 127.0.0.1:6379> JSON.NUMMULTBY k1 .a[*] 2 (error) NONEXISTENT JSON path does not exist 127.0.0.1:6379> JSON.NUMMULTBY k1 .b[*] 2 "2" 127.0.0.1:6379> JSON.GET k1 "{\"a\":[],\"b\":[2],\"c\":[1,2],\"d\":[1,2,3]}" 127.0.0.1:6379> JSON.NUMMULTBY k1 .c[*] 2 "4" 127.0.0.1:6379> JSON.GET k1 "{\"a\":[],\"b\":[2],\"c\":[2,4],\"d\":[1,2,3]}" 127.0.0.1:6379> JSON.NUMMULTBY k1 .d[*] 2 "6" 127.0.0.1:6379> JSON.GET k1 "{\"a\":[],\"b\":[2],\"c\":[2,4],\"d\":[2,4,6]}" 127.0.0.1:6379> JSON.SET k2 . '{"a":{}, "b":{"a":1}, "c":{"a":1, "b":2}, "d":{"a":1, "b":2, "c":3}}' OK 127.0.0.1:6379> JSON.NUMMULTBY k2 .a.* 2 (error) NONEXISTENT JSON path does not exist 127.0.0.1:6379> JSON.NUMMULTBY k2 .b.* 2 "2" 127.0.0.1:6379> JSON.GET k2 "{\"a\":{},\"b\":{\"a\":2},\"c\":{\"a\":1,\"b\":2},\"d\":{\"a\":1,\"b\":2,\"c\":3}}" 127.0.0.1:6379> JSON.NUMMULTBY k2 .c.* 2 "4" 127.0.0.1:6379> JSON.GET k2 "{\"a\":{},\"b\":{\"a\":2},\"c\":{\"a\":2,\"b\":4},\"d\":{\"a\":1,\"b\":2,\"c\":3}}" 127.0.0.1:6379> JSON.NUMMULTBY k2 .d.* 2 "6" 127.0.0.1:6379> JSON.GET k2 "{\"a\":{},\"b\":{\"a\":2},\"c\":{\"a\":2,\"b\":4},\"d\":{\"a\":2,\"b\":4,\"c\":6}}" 127.0.0.1:6379> JSON.SET k3 . '{"a":{"a":"a"}, "b":{"a":"a", "b":1}, "c":{"a":"a", "b":"b"}, "d":{"a":1, "b":"b", "c":3}}' OK 127.0.0.1:6379> JSON.NUMMULTBY k3 .a.* 2 (error) WRONGTYPE JSON element is not a number 127.0.0.1:6379> JSON.NUMMULTBY k3 .b.* 2 "2" 127.0.0.1:6379> JSON.GET k3 "{\"a\":{\"a\":\"a\"},\"b\":{\"a\":\"a\",\"b\":2},\"c\":{\"a\":\"a\",\"b\":\"b\"},\"d\":{\"a\":1,\"b\":\"b\",\"c\":3}}" 127.0.0.1:6379> JSON.NUMMULTBY k3 .c.* 2 (error) WRONGTYPE JSON element is not a number 127.0.0.1:6379> JSON.NUMMULTBY k3 .d.* 2 "6" 127.0.0.1:6379> JSON.GET k3 "{\"a\":{\"a\":\"a\"},\"b\":{\"a\":\"a\",\"b\":2},\"c\":{\"a\":\"a\",\"b\":\"b\"},\"d\":{\"a\":2,\"b\":\"b\",\"c\":6}}"