Sfortunatamente, non nel modo in cui l'hai fatto con gli attuali driver pymongo. Come hai scoperto, se ricevi errori nel tuo insert_many()
genererà un'eccezione e il dettaglio dell'eccezione non contiene i dettagli dell'inserted_id
s.
Contiene i dettagli delle chiavi non riuscite (in e.details['writeErrors'][]['keyValue']
) in modo da poter provare a lavorare a ritroso da quello dall'elenco dei prodotti originali.
L'altra soluzione alternativa consiste nell'usare insert_one()
in un ciclo con una prova ... tranne e controlla ogni inserto. So che questo è meno efficiente ma è una soluzione alternativa...