$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个项目开始。