JSON.ARRPOP
移除并返回path处数组中指定索引处的元素
语法
JSON.ARRPOP key [path [index]]
引入版本:1.0.0
复杂度摘要:O(N)
从数组中的索引中删除并返回一个元素
必需参数
key
修改关键。
index
是数组中开始弹出的位置。默认为 -1,表示最后一个元素。超出范围的索引四舍五入到其各自的数组末尾。弹出空数组返回 null。
可选参数
path
是JSONPath来指定。默认为根 $。
示例
Pop a value from an index and insert a new value
打造两款最大音量的耳机产品。
redis> JSON.SET key $ '[{"name":"健康耳机","description":"无线降噪蓝牙耳机technology","connection":{"wireless":true,"type":"蓝牙"},"price":99.98,"stock":25,"colors":["black","silver"],"max_level":[60,70,80]},{"name":"噪音耳机","description":"具有降噪功能的无线蓝牙耳机technology","connection":{"wireless":true,"type":"Bluetooth"},"price":99.98,"stock":25,"colors":["black","silver"],"max_level":[80,90,100,120]}]' OK
获取第二个产品的所有最大值。
redis> JSON.GET key $.[1].max_level "[[80,90,100,120]]"
更新产品的max_level字段:删除不可用的值并添加新的可用值。
redis> JSON.ARRPOP key $.[1].max_level 0 1) "80"
获取更新后的数组。
redis> JSON.GET key $.[1].max_level "[[90,100,120]]"
现在插入一个新的最低值。
redis> JSON.ARRINSERT key $.[1].max_level 0 85 1) (整数) 4
获取更新后的数组。
redis> JSON.GET key $.[1].max_level "[[85,90,100,120]]"
Redis Software 与 Redis Cloud 兼容性
| Redis 软件 |
Redis Cloud |
说明 |
|---|---|---|
| ✅ 支持 |
✅ 灵活且每年一次 ✅ 免费和固定 |
返回值
RESP2
批量字符串回复 或 空回复 的 数组回复,其中每个元素都是弹出的字符串形式的 JSON 值,如果匹配值不是数组,则为 null。
RESP3
批量字符串回复 或 空回复 的 数组回复,其中每个元素都是弹出的字符串形式的 JSON 值,如果匹配值不是数组,则为 null。
参见
JSON.ARRAPPEND | JSON.ARRINDEX
相关主题
资料来源:Redis 官方 JSON.ARRPOP 文档;中文内容参考 Redis 文档许可。