Kvůli vašemu řazení:
db.companies.find({exchange: 'OTC'})
Je to přirozené řazení, a protože vaše aktualizace s největší pravděpodobností není na místě pro těch 1 100, způsobuje to přesunutí některých dokumentů na konec interních propojených seznamů MongoDB, což je výchozí pořadí řazení; jako takové získáváte duplicitní dokumenty.
Seřaďte svůj dotaz pomocí něčeho jako _id nebo cokoli jiného, prostě něco.