JSON.STRAPPEND
Anexa uma string às strings JSON no caminho.
Sintaxe
JSON.STRAPPEND <key> [path] <json_string>
key (obrigatório): chave do tipo de documento JSON
path (opcional): um caminho JSON. Assumirá o padrão da raiz se não for fornecido
json_string (obrigatório): a representação JSON de uma string. Observe que uma string JSON deve estar entre aspas, ou seja, “foo”.
Return
Se o caminho for uma sintaxe aprimorada:
Matriz de inteiros, representando o novo comprimento da matriz em cada caminho.
-
Se um valor não for uma string, seu valor de retorno correspondente será nulo.
Erro
SYNTAXERR
se o argumento de entrada json não for uma string JSON válida.Erro
NONEXISTENT
se o caminho não existir.
Se o caminho for uma sintaxe restrita:
Inteiro, o novo comprimento da string.
Se vários valores de string forem selecionados, o comando retornará o novo comprimento da última string atualizada.
-
Erro
WRONGTYPE
se o valor no caminho não for uma string. -
Erro
WRONGTYPE
se o argumento da entrada json não for uma string JSON válida. -
NONEXISTENT
erro se o caminho não existir.
Exemplos
Sintaxe do caminho aprimorada:
127.0.0.1:6379> JSON.SET k1 $ '{"a":{"a":"a"}, "b":{"a":"a", "b":1}, "c":{"a":"a", "b":"bb"}, "d":{"a":1, "b":"b", "c":3}}' OK 127.0.0.1:6379> JSON.STRAPPEND k1 $.a.a '"a"' 1) (integer) 2 127.0.0.1:6379> JSON.STRAPPEND k1 $.a.* '"a"' 1) (integer) 3 127.0.0.1:6379> JSON.STRAPPEND k1 $.b.* '"a"' 1) (integer) 2 2) (nil) 127.0.0.1:6379> JSON.STRAPPEND k1 $.c.* '"a"' 1) (integer) 2 2) (integer) 3 127.0.0.1:6379> JSON.STRAPPEND k1 $.c.b '"a"' 1) (integer) 4 127.0.0.1:6379> JSON.STRAPPEND k1 $.d.* '"a"' 1) (nil) 2) (integer) 2 3) (nil)
Sintaxe do caminho restrita:
127.0.0.1:6379> JSON.SET k1 . '{"a":{"a":"a"}, "b":{"a":"a", "b":1}, "c":{"a":"a", "b":"bb"}, "d":{"a":1, "b":"b", "c":3}}' OK 127.0.0.1:6379> JSON.STRAPPEND k1 .a.a '"a"' (integer) 2 127.0.0.1:6379> JSON.STRAPPEND k1 .a.* '"a"' (integer) 3 127.0.0.1:6379> JSON.STRAPPEND k1 .b.* '"a"' (integer) 2 127.0.0.1:6379> JSON.STRAPPEND k1 .c.* '"a"' (integer) 3 127.0.0.1:6379> JSON.STRAPPEND k1 .c.b '"a"' (integer) 4 127.0.0.1:6379> JSON.STRAPPEND k1 .d.* '"a"' (integer) 2