Sayangnya, tidak seperti yang Anda lakukan dengan driver pymongo saat ini. Seperti yang Anda temukan, jika Anda mendapatkan kesalahan di insert_many() itu akan mengeluarkan pengecualian dan detail pengecualian tidak berisi detail inserted_id s.
Itu memang berisi rincian kunci yang gagal (dalam e.details['writeErrors'][]['keyValue'] ) sehingga Anda dapat mencoba dan bekerja mundur dari daftar produk asli Anda.
Solusi Anda yang lain adalah menggunakan insert_one() dalam satu lingkaran dengan coba ... kecuali dan periksa setiap sisipan. Saya tahu ini kurang efisien tapi ini solusi ...