MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Pourquoi ce db.eval -> array.push s'exécuterait-il deux fois pour certains enregistrements ?

À cause de votre sorte :

 db.companies.find({exchange: 'OTC'})

C'est un tri naturel, et puisque votre mise à jour n'est probablement pas en place pour ces 1 100, certains documents se déplacent à la fin des listes liées internes de MongoDB, qui est l'ordre de tri par défaut; en tant que tel, vous obtenez des documents en double.

Triez votre requête avec quelque chose comme _id ou autre, juste quelque chose.