Capped collections là collection có kích thước cố định, hỗ trợ thao tác insert và truy xuất document theo thứ tự chèn với hiệu năng cao. Để thiết lập giới hạn số document tối đa (max) cho capped collection, sử dụng cú pháp sau:
Cú pháp
db.createCollection("tênCollection", {capped: true, size: kíchThướcByte, max: sốDocumentTốiĐa});
capped: true- Bắt buộc để tạo capped collectionsize- Kích thước tối đa tính bằng byte (bắt buộc)max- Số document tối đa (tùy chọn)
Ví dụ tạo capped collection với max = 2000
> db.createCollection("setMaxDemo", {capped:true, size:948575757, max:2000});
Kết quả:
{ "ok" : 1 }
Kiểm tra thông tin collection
> db.setMaxDemo.stats();
Kết quả quan trọng (rút gọn):
{
"ns" : "test.setMaxDemo",
"capped" : true,
"max" : 2000,
"maxSize" : 948576000,
"count" : 0,
"size" : 0,
"ok" : 1
}
Giải thích:
max: 2000- Collection sẽ tự động xóa document cũ nhất khi đạt 2000 documentmaxSize- Kích thước thực tế được cấp phát (có thể khác đôi chút với size do căn chỉnh)- Khi cả
sizevàmaxđều đạt giới hạn, document cũ nhất bị xóa để chỗ cho document mới
Capped collection phù hợp cho log, cache, hoặc dữ liệu time-series nơi chỉ cần giữ dữ liệu gần đây.