DBAtlas · Атлас эксплуатации баз данных

48 NamespaceExists: Namespace (collection) already exists

MongoDB

Что это значит?

Коллекция (пространство имён), которую вы пытаетесь создать, уже существует. MongoDB сообщает, что она есть, поэтому создавать новую коллекцию с тем же именем и параметрами не нужно.

Почему возникает?

Попытка повторно создать существующую коллекцию с помощью createCollection (возможно, с другими параметрами); многократный запуск скриптов схемы/настройки; либо попытка переопределить существующее имя как capped-коллекцию или с особыми параметрами.

Как исправить

Обычно эту ошибку можно безопасно игнорировать: она означает, что коллекция уже существует. Сделайте скрипты настройки идемпотентными: проверяйте наличие перед созданием (db.getCollectionNames().includes('name')). Чтобы изменить параметры, нужно удалить и заново создать коллекцию (предварительно сделайте бэкап данных): db.my_collection.drop(), затем createCollection.

Открыть в DBAtlas →

Ещё по этой СУБД