DBAtlas · データベース運用アトラス

48 NamespaceExists: Namespace (collection) already exists(名前空間 (コレクション) が既に存在する)

MongoDB

意味

作成しようとしているコレクション (名前空間) は既に存在する。MongoDB は存在することを報告しており、同じ名前とオプションで新しいコレクションを作成する必要はない。

原因

既存のコレクションを createCollection で (異なるオプションで) 再作成しようとした、スキーマ/セットアップスクリプトが複数回実行された、または既存の名前を capped コレクションや特別なオプションで再定義しようとした。

対処方法

通常は無視して問題ない。コレクションが既に存在することを意味する。セットアップスクリプトを冪等にする: 作成前に存在を確認する (db.getCollectionNames().includes('name'))。オプションを変更するにはコレクションを削除して再作成する必要がある (先にデータをバックアップする): db.my_collection.drop() の後に createCollection。

DBAtlas で開く →

同じデータベースの他の項目