JSON.ARRINDEX
Search for the first occurrence of a JSON value in an array
Required arguments
is key to parse.
value
is value to find its index in one or more arrays.
About using strings with JSON commands
start
is inclusive start value to specify in a slice of the array to search. Default is 0
.
stop
is exclusive stop value to specify in a slice of the array to search, including the last element. Default is 0
. Negative values are interpreted as starting from the end.
About out-of-range indexes
Out-of-range indexes round to the array’s start and end. An inverse index range (such as the range from 1 to 0) returns unfound or -1
.
Return value
returns an of integer replies for each path, the first position in the array of each JSON value that matches the path, -1
if unfound in the array, or nil
, if the matching JSON value is not an array. For more information about replies, see Redis serialization protocol specification.
Create a document for noise-cancelling headphones in black and silver colors.
OK
Add color blue
to the end of the colors
array. JSON.ARRAPEND
returns the array’s new size.
Return the new length of the array.
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.
Insert two more colors after the second color. You now have five colors.
dragonfly> JSON.ARRINSERT item:1 $.colors 2 '"yellow"' '"gold"'
1) (integer) 5
Get the updated list of colors.
Find the place where color silver
is located.
dragonfly> JSON.ARRINDEX item:1 $..colors '"silver"'