Capped Collection tự động xóa document cũ nhất khi vượt quá size hoặc max documents. Tạo với capped:true, size (bytes), max (số document).
Tạo capped collection demo297 (size=4 bytes, max=4 doc - chỉ để demo):
> db.createCollection("demo297",{capped:true,size:4,max:4});
Insert 5 document (vượt max=4):
> db.demo297.insertOne({"Name":"Chris"});
> db.demo297.insertOne({"Name":"Bob"});
> db.demo297.insertOne({"Name":"Mike"});
> db.demo297.insertOne({"Name":"Sam"});
> db.demo297.insertOne({"Name":"John"});
Kết quả: document đầu (Chris) bị tự động xóa, chỉ còn 4 document mới nhất:
{
"_id" : ObjectId("5e4d543e5d93261e4bc9ea44"),
"Name" : "Bob"
}
{
"_id" : ObjectId("5e4d543e5d93261e4bc9ea45"),
"Name" : "Mike"
}
{
"_id" : ObjectId("5e4d543f5d93261e4bc9ea46"),
"Name" : "Sam"
}
{
"_id" : ObjectId("5e4d54405d93261e4bc9ea47"),
"Name" : "John"
}
Ứng dụng: Log, cache, time-series data với dung lượng cố định.