Để lấy số lượng document của tất cả collection trong database hiện tại, bạn sử dụng db.getCollectionNames() kết hợp với map() và count().
Cú pháp
Ví dụ thực hành trên database 'test'
Kết quả (rút gọn - hiển thị một phần):
Giải thích
db.getCollectionNames()- Trả về mảng tên tất cả collection trong database hiện tại.map(function(ColName) {...})- Duyệt qua từng tên collectiondb[ColName].count()- Gọi count() trên collection (bracket notation cho tên động)- Trả về mảng object chứa tên collection và số document
Lưu ý hiệu năng
count()không dùng index - quét toàn bộ collection (chậm trên collection lớn)- MongoDB 4.0+: Dùng
countDocuments({})cho kết quả chính xác,estimatedDocumentCount()cho ước lượng nhanh (dùng metadata) - Script này hữu ích cho admin/monitoring, không nên chạy thường xuyên trên production lớn