Этот ответ запоздал, однако другие ответы кажутся немного ... слабыми с точки зрения надежности и фактической информации, поэтому я попытаюсь исправить это немного.
Но по какой-то причине mongodb setограничение 24000 для количества пространств имен в базе данных,
Это просто настройка по умолчанию.Да, есть настройка по умолчанию.
На странице лимитов говорится, что 24000 - это лимит (http://docs.mongodb.org/manual/reference/limits/#Number%20of%20Namespaces), как будто нет способа расширить его, но есть.
Однако существует максимальный предел размера файла пространства имен (http://docs.mongodb.org/manual/reference/limits/#Size%20of%20Namespace%20File), который составляет 2 ГБ.Это дает вам примерно 3 миллиона пространств имен для игры в большинстве случаев, что весьма впечатляет, и я не уверен, что многие люди быстро достигнут этого предела.
Вы можете изменить значение по умолчанию, чтобы оно превысило 16 МБ, используяПараметр nssize либо в конфигурации (http://docs.mongodb.org/manual/reference/configuration-options/#nssize), либо во время выполнения путем манипулирования командой, используемой для запуска MongoDB (http://docs.mongodb.org/manual/reference/mongod/#cmdoption-mongod--nssize).
Нет реальной причины, по которой MongoDB реализует 16 МБпо умолчанию для nssize, насколько мне известно, я никогда не слышал о девизе «не беспокоить пользователя каждой мелочью», поэтому я его не покупаю.
Я думаю, по моему мнениюглавная причина, по которой MongoDB скрывает это, заключается в том, что, хотя в документации указано:
Отдельные коллекции очень важны для высокопроизводительной пакетной обработки.
Использование несколькихКоллекции как средство масштабирования по вертикали, а не по горизонтали через кластер, как задумано MongoDB, вполнечасто) плохая практика для крупных сайтов;как таковые, коллекции 12K обычно считаются чем-то, что люди никогда не должны и никогда не должны устанавливать.