$slice
¶所述$slice
操作者控制的阵列查询返回的项的数量。有关在使用进行更新期间限制数组大小的信息$push
,请$slice
改为使用
修饰符。
db.collection.find()
在操作的观点不支持$slice
投影操作。
考虑以下原型查询:
此操作选择collection
一个名为的字段标识的文档,该字段field
保存value
并返回由count
存储在该array
字段中的数组的value所指定的元素数。如果count
值大于array
查询中的元素数,则返回数组的所有元素。
$slice
接受多种格式的参数,包括负值和数组。考虑以下示例:
在这里,$slice
选择comments
字段中数组的前五个项目。
此操作返回数组中的最后五个项目。
以下示例将数组指定为的参数
$slice
。数组采用的形式,其中第一个值指示要跳过的数组中的项目数,第二个值指示要返回的项目数。[ skip , limit ]
在这里,在跳过该数组的前20个项目之后,查询将仅返回10个项目。
此操作还返回10个项目,从数组最后一个项目开始的第20个项目开始。