MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Pymongo erhält IDs auch bei doppeltem Schlüsselfehler eingefügt

Leider nicht so, wie Sie es mit den aktuellen Pymongo-Treibern gemacht haben. Wie Sie festgestellt haben, erhalten Sie Fehler in Ihrem insert_many() es wird eine Ausnahme ausgelöst und das Ausnahmedetail enthält keine Details der inserted_id s.

Es enthält Details zu den fehlgeschlagenen Schlüsseln (in e.details['writeErrors'][]['keyValue'] ), sodass Sie versuchen könnten, ausgehend von Ihrer ursprünglichen Produktliste rückwärts zu arbeiten.

Ihre andere Problemumgehung besteht darin, insert_one() zu verwenden in einer Schleife mit einem Versuch ... außer und überprüfen Sie jede Einfügung. Ich weiß, dass dies weniger effizient ist, aber es ist ein Workaround ...