Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

จำกัดจำนวนค่าในฟิลด์อาร์เรย์ด้วย MongoDB

ใช้ตัวดำเนินการ $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