E11000: E11000 duplicate key error collection (Fehler wegen doppelten Schlüssels)
MongoDBWas bedeutet das?
Ein Insert oder Update hat versucht, einen in der Collection bereits vorhandenen Wert in durch einen Unique Index geschützte Feld(er) zu schreiben. MongoDB lehnt den doppelten Schlüssel ab.
Ursache
Eine _id-Kollision, zweites Schreiben desselben Werts in ein Feld mit Unique Index, eine Race Condition beim Upsert oder kollidierende Null-Werte mehrerer Dokumente in einem Unique Index (nicht sparse).
Lösung
Prüfe vor dem Schreiben, ob das Dokument existiert, oder verwende einen Upsert: db.collection.updateOne(filter, {$set:{...}}, {upsert:true}). Sieh dir den Indexnamen und den dup-key-Wert in der Fehlermeldung an. Ist Eindeutigkeit eigentlich nicht nötig, entferne den Index; sind Nulls das Problem, verwende einen Partial/Sparse Index. Fange den Fehler in der Anwendung ab und wiederhole den Vorgang oder melde ihn dem Benutzer.