Niestety nie w taki sposób, jak to zrobiłeś z obecnymi sterownikami pymongo. Jak już zauważyłeś, jeśli wystąpią błędy w swoim insert_many()
zgłosi wyjątek, a szczegóły wyjątku nie zawierają szczegółów inserted_id
s.
Zawiera szczegóły kluczy, których nie powiodło się (w e.details['writeErrors'][]['keyValue']
), więc możesz spróbować pracować wstecz od oryginalnej listy produktów.
Twoim innym obejściem jest użycie insert_one()
w pętli z try ... z wyjątkiem i sprawdzania każdej wkładki. Wiem, że jest to mniej wydajne, ale jest to obejście…