Skip to content

Latest commit

 

History

History
93 lines (61 loc) · 3.09 KB

json.arrinsert.md

File metadata and controls

93 lines (61 loc) · 3.09 KB

Insert the json values into the array at path before the index (shifts to the right)

Examples

Required arguments

key

is key to modify.

value

is one or more values to insert in one or more arrays.

{{% alert title="About using strings with JSON commands" color="warning" %}} To specify a string as an array value to insert, wrap the quoted string with an additional set of single quotes. Example: '"silver"'. For more detailed use, see Examples. {{% /alert %}}

index

is position in the array where you want to insert a value. The index must be in the array's range. Inserting at index 0 prepends to the array. Negative index values start from the end of the array.

Optional arguments

path

is JSONPath to specify. Default is root $.

Return value

JSON.ARRINSERT returns an array of integer replies for each path, the array's new size, or nil, if the matching JSON value is not an array. For more information about replies, see Redis serialization protocol specification.

Examples

Add new colors to a specific place in a list of product colors

Create a document for noise-cancelling headphones in black and silver colors.

{{< highlight bash >}} 127.0.0.1:6379> JSON.SET item:1 $ '{"name":"Noise-cancelling Bluetooth headphones","description":"Wireless Bluetooth headphones with noise-cancelling technology","connection":{"wireless":true,"type":"Bluetooth"},"price":99.98,"stock":25,"colors":["black","silver"]}' OK {{< / highlight >}}

Add color blue to the end of the colors array. JSON.ARRAPEND returns the array's new size.

{{< highlight bash >}} 127.0.0.1:6379> JSON.ARRAPPEND item:1 $.colors '"blue"'

  1. (integer) 3 {{< / highlight >}}

Return the new length of the colors array.

{{< highlight bash >}} JSON.GET item:1 "{"name":"Noise-cancelling Bluetooth headphones","description":"Wireless Bluetooth headphones with noise-cancelling technology","connection":{"wireless":true,"type":"Bluetooth"},"price":99.98,"stock":25,"colors":["black","silver","blue"]}" {{< / highlight >}}

Get the list of colors for the product.

{{< highlight bash >}} 127.0.0.1:6379> JSON.GET item:1 '$.colors[*]' "["black","silver","blue"]" {{< / highlight >}}

Insert two more colors after the second color. You now have five colors.

{{< highlight bash >}} 127.0.0.1:6379> JSON.ARRINSERT item:1 $.colors 2 '"yellow"' '"gold"'

  1. (integer) 5 {{< / highlight >}}

Get the updated list of colors.

{{< highlight bash >}} 127.0.0.1:6379> JSON.GET item:1 $.colors "[["black","silver","yellow","gold","blue"]]" {{< / highlight >}}

See also

JSON.ARRAPPEND | JSON.ARRINDEX

Related topics