Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Lấy số lượng document của tất cả collection trong MongoDB?

Để 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 collection
  • db[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