MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Pymongo obtém IDs inseridos mesmo com erro de chave duplicada


Infelizmente, não da maneira que você fez com os drivers atuais do pymongo. Como você descobriu, se você receber erros em seu insert_many() ele lançará uma exceção e o detalhe da exceção não contém detalhes do inserted_id s.

Ele contém detalhes das chaves que falharam (em e.details['writeErrors'][]['keyValue'] ) para que você possa tentar trabalhar de trás para frente a partir da sua lista de produtos original.

Sua outra solução é usar insert_one() em um loop com um try ... exceto e verifique cada inserção. Eu sei que isso é menos eficiente, mas é uma solução alternativa ...