sql >> Base de Datos >  >> NoSQL >> MongoDB

Pymongo obtiene identificaciones insertadas incluso con error de clave duplicada

Desafortunadamente, no de la forma en que lo ha hecho con los controladores de pymongo actuales. Como ha descubierto, si recibe errores en su insert_many() lanzará una excepción y el detalle de la excepción no contiene detalles del inserted_id s.

Contiene detalles de las claves que fallan (en e.details['writeErrors'][]['keyValue'] ) para que pueda intentar trabajar hacia atrás desde su lista de productos original.

Su otra solución es usar insert_one() en un bucle con un intento ... excepto y verifique cada inserción. Sé que esto es menos eficiente, pero es una solución...