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 文档许可。