JSON.ARRINSERT
将 json 值插入数组中索引之前的路径(向右移动)
语法
JSON.ARRINSERT key path index value [value ...]
引入版本:1.0.0
复杂度摘要:O(N)
将 json 值插入到数组中 path 处的 index 之前(右移)
必需参数
key
修改关键。
value
是要插入一个或多个数组中的一个或多个值。
[!NOTE] 关于在 JSON 命令中使用字符串 要将字符串指定为要插入的数组值,请使用一组附加的单引号将带引号的字符串括起来。示例:
'"silver"'。更详细的使用请参见示例。
index
是数组中要插入值的位置。索引必须在数组的范围内。在 index 0 处插入会添加到数组的前面。负索引值从数组末尾开始。
可选参数
path
是JSONPath来指定。默认为根 $。
示例
Add new colors to a specific place in a list of product colors
创建黑色和银色降噪耳机的文档。
redis> JSON.SET item:1 $ '{"name":"降噪蓝牙耳机","description":"具有降噪技术的无线蓝牙耳机","connection":{"wireless":true,"type":"蓝牙"},"price":99.98,"stock":25,"colors":["black","silver"]}' OK
将颜色 blue 添加到 colors 数组的末尾。 JSON.ARRAPEND 返回数组的新大小。
redis> JSON.ARRAPPEND item:1 $.colors '"blue"' 1) (整数) 3
返回 colors 数组的新长度。
redis> JSON.GET item:1 "{\"name\":\"降噪蓝牙耳机\",\"description\":\"带降噪功能的无线蓝牙耳机技术\",\"连接\":{\"无线\":true,\"类型\":\"蓝牙\"},\"价格\":99.98,\"库存\":25,\"颜色\":[\"黑色\",\"银色\",\"蓝色\"]}"
获取产品的颜色列表。
redis> JSON.GET item:1 '$.colors[*]' "[\"黑色\",\"银色\",\"蓝色\"]"
在第二种颜色之后再插入两种颜色。您现在有五种颜色。
redis> JSON.ARRINSERT item:1 $.colors 2 '"yellow"' '"gold"' 1) (整数) 5
获取更新的颜色列表。
redis> JSON.GET item:1 $.colors "[[\"黑色\",\"银色\",\"黄色\",\"金色\",\"蓝色\"]]"
Redis Software 与 Redis Cloud 兼容性
| Redis 软件 |
Redis Cloud |
说明 |
|---|---|---|
| ✅ 支持 |
✅ 灵活且每年一次 ✅ 免费和固定 |
返回值
RESP2
使用基于 $ 的路径参数:数组回复 或 整数回复 或 空回复,其中每个元素是数组的新大小;如果匹配值不是数组,则为 null。
使用基于 . 的路径参数:整数回复 表示数组的新大小,如果匹配值不是数组,则为 空回复。
RESP3
使用基于 $ 的路径参数(默认):数组回复 或 整数回复 或 空回复,其中每个元素是数组的新大小;如果匹配值不是数组,则为 null。
使用基于 . 的路径参数:整数回复 表示数组的新大小,如果匹配值不是数组,则为 空回复。
参见
JSON.ARRAPPEND | JSON.ARRINDEX
相关主题
资料来源:Redis 官方 JSON.ARRINSERT 文档;中文内容参考 Redis 文档许可。