[フレーム]
Docs Pricing
Login Book a meeting Try Redis

JSON.ARRPOP

Syntax
JSON.ARRPOP key [path [index]]
Available in:
Redis Open Source / JSON 1.0.0
Time complexity:
O(N) when path is evaluated to a single value where N is the size of the array and the specified index is not the last element, O(1) when path is evaluated to a single value and the specified index is the last element, or O(N) when path is evaluated to multiple values, where N is the size of the key
ACL categories:
@json, @write, @slow,

Remove and return an element from the index in the array

Examples

Required arguments

key

is key to modify.

index

is position in the array to start popping from. Default is -1, meaning the last element. Out-of-range indexes round to their respective array ends. Popping an empty array returns null.

Optional arguments

path

is JSONPath to specify. Default is root $.

Examples

Pop a value from an index and insert a new value

Create two headphone products with maximum sound levels.

redis> JSON.SET key $ '[{"name":"Healthy headphones","description":"Wireless Bluetooth headphones with noise-cancelling technology","connection":{"wireless":true,"type":"Bluetooth"},"price":99.98,"stock":25,"colors":["black","silver"],"max_level":[60,70,80]},{"name":"Noisy headphones","description":"Wireless Bluetooth headphones with noise-cancelling technology","connection":{"wireless":true,"type":"Bluetooth"},"price":99.98,"stock":25,"colors":["black","silver"],"max_level":[80,90,100,120]}]'
OK

Get all maximum values for the second product.

redis> JSON.GET key $.[1].max_level
"[[80,90,100,120]]"

Update the max_level field of the product: remove an unavailable value and add a newly available value.

redis> JSON.ARRPOP key $.[1].max_level 0
1) "80"

Get the updated array.

redis> JSON.GET key $.[1].max_level
"[[90,100,120]]"

Now insert a new lowest value.

redis> JSON.ARRINSERT key $.[1].max_level 0 85
1) (integer) 4

Get the updated array.

redis> JSON.GET key $.[1].max_level
"[[85,90,100,120]]"

Return information

Array reply of bulk string replies or null replies, where each element is the popped JSON value as a string, or null if the matching value is not an array.

See also

JSON.ARRAPPEND | JSON.ARRINDEX

RATE THIS PAGE
Back to top ↑

AltStyle によって変換されたページ (->オリジナル) /