JSON.ARRINSERT key path index value [value ...]
@json,
@write,
@slow,
Insert the json values into the array at path before the index (shifts to the right)
keyis key to modify.
valueis one or more values to insert in one or more arrays.
'"silver"'. For more detailed use, see Examples.indexis 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.
pathis JSONPath to specify. Default is root $.
Create a document for noise-cancelling headphones in black and silver colors.
redis> 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"]}'
OKAdd color blue to the end of the colors array. JSON.ARRAPEND returns the array's new size.
redis> JSON.ARRAPPEND item:1 $.colors '"blue"'
1) (integer) 3Return the new length of the colors array.
redis> 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\"]}"Get the list of colors for the product.
redis> JSON.GET item:1 '$.colors[*]'
"[\"black\",\"silver\",\"blue\"]"Insert two more colors after the second color. You now have five colors.
redis> JSON.ARRINSERT item:1 $.colors 2 '"yellow"' '"gold"'
1) (integer) 5Get the updated list of colors.
redis> JSON.GET item:1 $.colors
"[[\"black\",\"silver\",\"yellow\",\"gold\",\"blue\"]]"| Redis Enterprise |
Redis Cloud |
Notes |
|---|---|---|
| ✅ Supported |
✅ Flexible & Annual ✅ Free & Fixed |
With $-based path argument: Array reply of integer replies or null replies, where each element is the array's new size, or null if the matching value is not an array.
With .-based path argument: Integer reply representing the array's new size, or null reply if the matching value is not an array.
JSON.ARRAPPEND | JSON.ARRINDEX