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

วิธีจำกัด Array Sub-element ใน MongoDB

การจำกัด Array Sub-element ใน MongoDB ด้วย $slice

ใช้ $slice operator เพื่อจำกัดจำนวน elements ใน Array ตัวอย่างการสร้าง Collection และ Document:

> db.limitAnArrayDemo.insertOne({
  _id: 101,
  "PlayerName": "Bob",
  "PlayerDetails": {Age:23, isStudent:true},
  "PlayerGameScores": [234,5767,58,67,78,90,1002,576,68,45,23,45,678,89,78]
});
{ "acknowledged" : true, "insertedId" : 101 }

แสดงข้อมูลทั้งหมด

> db.limitAnArrayDemo.find().pretty();

ผลลัพธ์: PlayerGameScores มี 15 ค่า

จำกัดแสดง 10 ค่าสุดท้าย ($slice: -10)

> db.limitAnArrayDemo.find({}, {PlayerName:1, PlayerDetails: 1, PlayerGameScores:{$slice: -10}}).pretty();

ผลลัพธ์: แสดงแค่ 10 ค่าสุดท้ายของ PlayerGameScores

{
  "_id" : 101,
  "PlayerName" : "Bob",
  "PlayerDetails" : { "Age" : 23, "isStudent" : true },
  "PlayerGameScores" : [ 90, 1002, 576, 68, 45, 23, 45, 678, 89, 78 ]
}

หมายเหตุ: ค่า Negative ของ $slice (-10) หมายถึงดึงจากท้าย陣列 ค่า Positive (+10) จะดึงจากหัว Array