ใช้เมธอด pop() ของ JavaScript บนอาร์เรย์ในเอกสาร แล้วบันทึกกลับด้วย save() เริ่มต้นด้วยการสร้างคอลเลกชันตัวอย่าง:
> db.persistChangeDemo.insertOne({"Name" : "Larry", "CreditScore": [500,700,760,100]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cdfc52cbf3115999ed51203") }
แสดงเอกสาร:
> db.persistChangeDemo.find().pretty();
ขั้นตอนการ pop ค่าสุดท้าย (100) และบันทึก:
> var myDocument = db.persistChangeDemo.findOne(); > myDocument.CreditScore.pop(); // คืนค่า 100 และลบออกจากอาร์เรย์ > db.persistChangeDemo.save(myDocument); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })ตรวจสอบเอกสารอีกครั้ง:
> db.persistChangeDemo.find().pretty();คำอธิบาย: วิธีนี้ทำงานฝั่ง client (mongo shell) - ดึงเอกสารมา แก้ไขอาร์เรย์ด้วย JavaScript แล้ว save() กลับไป ใน MongoDB 4.2+ สามารถใช้
$popใน update ได้โดยตรง:{$pop: {CreditScore: 1}}(1 = pop ท้าย, -1 = pop หน้า)