JSON.ARRAPPEND - Amazon ElastiCache (Redis OSS)

JSON.ARRAPPEND

Appends one or more values to the array values at the path.

Syntax

JSON.ARRAPPEND <key> <path> <json> [json ...]
  • key (required) – A Redis OSS key of JSON document type.

  • path (required) – A JSON path.

  • json (required) – The JSON value to be appended to the array.

Return

If the path is enhanced syntax:

  • Array of integers that represent the new length of the array at each path.

  • If a value is not an array, its corresponding return value is null.

  • SYNTAXERR error if one of the input json arguments is not a valid JSON string.

  • NONEXISTENT error if the path does not exist.

If the path is restricted syntax:

  • Integer, the array's new length.

  • If multiple array values are selected, the command returns the new length of the last updated array.

  • WRONGTYPE error if the value at the path is not an array.

  • SYNTAXERR error if one of the input json arguments is not a valid JSON string.

  • NONEXISTENT error if the path does not exist.

Examples

Enhanced path syntax:

127.0.0.1:6379> JSON.SET k1 . '[[], ["a"], ["a", "b"]]' OK 127.0.0.1:6379> JSON.ARRAPPEND k1 $[*] '"c"' 1) (integer) 1 2) (integer) 2 3) (integer) 3 127.0.0.1:6379> JSON.GET k1 "[[\"c\"],[\"a\",\"c\"],[\"a\",\"b\",\"c\"]]"

Restricted path syntax:

127.0.0.1:6379> JSON.SET k1 . '[[], ["a"], ["a", "b"]]' OK 127.0.0.1:6379> JSON.ARRAPPEND k1 [-1] '"c"' (integer) 3 127.0.0.1:6379> JSON.GET k1 "[[],[\"a\"],[\"a\",\"b\",\"c\"]]"