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

ความหมายของ max field ใน MongoDB db.collection.stats()

ฟิลด์ max ในผลลัพธ์ของ db.collection.stats() ใช้สำหรับ Capped Collection เพื่อจำกัดจำนวนเอกสารสูงสุด

สร้าง Capped Collection พร้อม max

> db.createCollection("demo673", {capped: true, size: 100, max: 50});
{ "ok" : 1 }

ตัวเลือก:

  • capped: true - เปิดใช้งาน Capped Collection (ขนาดคงที่, เขียนทับเก่า)
  • size: 100 - ขนาดสูงสุดเป็นไบต์ (บังคับ)
  • max: 50 - จำนวนเอกสารสูงสุด (Optional)

Insert ข้อมูลทดสอบ:

> db.demo673.insertOne({Name: "John", Age: 23});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea3ec7304263e90dac943e8") }
> db.demo673.insertOne({Name: "Bob", Age: 21});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea3ec7804263e90dac943e9") }
> db.demo673.insertOne({Name: "David", Age: 20});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea3ec7f04263e90dac943ea") }

แสดงข้อมูล:

> db.demo673.find();

ดู Stats พร้อม max

db.demo673.stats();

ผลลัพธ์สำคัญ:


การทำงานของ Capped Collection

  • เมื่อ insert จนถึง size limit หรือ max documents → ลบเอกสารเก่าทิ้ง (FIFO)
  • เหมาะสำหรับ: Logs, Metrics, Cache, Session data, Audit trail
  • ไม่สามารถ delete หรือ update ทำให้ขนาดใหญ่ขึ้นได้
  • Default _id index ไม่สามารถ drop ได้

สรุป max field

max ใน stats = ขีดจำกัดจำนวนเอกสารสูงสุด ของ Capped Collection (ต้องตั้ง capped: true และ size ด้วย)