DBAtlas · Atlas für Datenbankbetrieb

48 NamespaceExists: Namespace (collection) already exists

MongoDB

Was bedeutet das?

Die Collection (Namespace), die du anlegen willst, existiert bereits. MongoDB meldet, dass sie vorhanden ist; eine neue Collection mit demselben Namen und denselben Optionen muss also nicht angelegt werden.

Ursache

Versuch, eine vorhandene Collection mit createCollection erneut anzulegen (eventuell mit anderen Optionen); Schema-/Setup-Skripte, die mehrfach laufen; oder der Versuch, einen vorhandenen Namen als Capped Collection oder mit speziellen Optionen neu zu definieren.

Lösung

Kann meist ignoriert werden; die Collection existiert bereits. Mache deine Setup-Skripte idempotent: Prüfe vor dem Anlegen die Existenz (db.getCollectionNames().includes('name')). Um die Optionen zu ändern, musst du die Collection löschen und neu anlegen (sichere vorher die Daten): db.my_collection.drop() dann createCollection.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank