DBAtlas · Veritabanı operasyon atlası

48 NamespaceExists: Namespace (collection) already exists

MongoDB

Ne demek?

Oluşturmaya çalıştığınız koleksiyon (namespace) zaten var. MongoDB, aynı ad ve seçeneklerle yeni bir koleksiyon oluşturmanıza gerek olmadan mevcut olduğunu bildirir.

Neden olur?

createCollection ile zaten var olan bir koleksiyonu (belki farklı seçeneklerle) yeniden oluşturmaya çalışmak; şema/kurulum betiklerinin birden çok kez çalıştırılması; ya da kapasiteli (capped) koleksiyon veya özel seçeneklerle var olan bir adı yeniden tanımlama denemesi.

Nasıl çözülür?

Genellikle güvenle yok sayılabilir; koleksiyon zaten mevcut demektir. Kurulum betiklerinizi idempotent yapın: oluşturmadan önce varlığı kontrol edin (db.getCollectionNames().includes('ad')). Seçenekleri değiştirmek istiyorsanız koleksiyonu düşürüp yeniden oluşturmanız gerekir (veriyi önce yedekleyin): db.koleksiyon.drop() sonra createCollection.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar