Câu trả lời này là muộn tuy nhiên các câu trả lời khác có vẻ hơi ... yếu về độ tin cậy và thông tin thực tế nên tôi sẽ cố gắng khắc phục điều đó một chút.
Nhưng vì một số lý do mongodb đặt giới hạn 24000 cho số lượng không gian tên trong cơ sở dữ liệu,
Đó chỉ là cài đặt mặc định. Có, có một cài đặt mặc định.
Trên trang giới hạn có ghi rằng 24000 là giới hạn (http://docs.mongodb.org/manual/reference/limits/#Number%20of%20Namespaces), như thể không có cách nào để mở rộng nhưng vẫn có.
Tuy nhiên, có giới hạn tối đa về mức độ lớn của tệp không gian tên (http://docs.mongodb.org/manual/reference/limits/#Size%20of%20Namespace%20File) là 2GB. Điều đó mang lại cho bạn khoảng 3 triệu không gian tên để chơi trong hầu hết các trường hợp, khá ấn tượng và tôi không chắc liệu nhiều người có nhanh chóng đạt đến giới hạn đó hay không.
Bạn có thể sửa đổi giá trị mặc định cao hơn 16MB bằng cách sử dụng tham số nssize trong cấu hình (http://docs.mongodb.org/manual/reference/configuration-options/#nssize) hoặc trong thời gian chạy bằng cách thao tác lệnh được sử dụng để chạy MongoDB (http://docs.mongodb.org/manual/reference/mongod/#cmdoption-mongod--nssize).
Không có lý do thực sự nào giải thích tại sao MongoDB sử dụng 16MB theo mặc định cho kích thước nss của nó theo như tôi biết, tôi chưa bao giờ nghe về phương châm "không làm phiền người dùng với từng chi tiết nhỏ nhất" nên tôi không mua cái đó.
Tôi nghĩ, theo ý kiến của tôi, lý do chính khiến MongoDB giấu điều này là vì mặc dù, như tài liệu đã nêu:
Các bộ sưu tập riêng biệt rất quan trọng để xử lý hàng loạt thông lượng cao.
Sử dụng nhiều bộ sưu tập như một phương tiện để chia tỷ lệ theo chiều dọc thay vì theo chiều ngang qua một cụm, như MongoDB được thiết kế, được coi là (khá thường xuyên) đối với các trang web quy mô lớn; vì những bộ sưu tập 12K như vậy thường được coi là thứ mà mọi người sẽ không bao giờ và không bao giờ nên chắc chắn.