ใช้ตัวดำเนินการ $slice ในส่วน projection เพื่อจำกัดจำนวนองค์ประกอบที่คืนค่าจากอาร์เรย์ เริ่มต้นด้วยการสร้างคอลเลกชันตัวอย่าง:
> db.numberOfValuesDemo.insertOne({"Values":[100,200,300,900,1000,98]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefb736ef71edecf6a1f6ab") }
แสดงเอกสาร:
> db.numberOfValuesDemo.find().pretty();
คิวรี่จำกัดให้คืนค่าแค่ 2 ค่าแรกจากอาร์เรย์ Values:
> db.numberOfValuesDemo.find({},{ "Values": { "$slice": 2 } });รูปแบบ $slice:
{$slice: n}- ดึง n ค่าแรก (n > 0) หรือ n ค่าสุดท้าย (n < 0){$slice: [skip, limit]}- ข้าม skip ค่า แล้วดึง limit ค่า
ใช้ได้ทั้งใน find() projection และ $project ใน Aggregate