sql >> Databáze >  >> NoSQL >> MongoDB

Proč by se tento db.eval -> array.push pro určité záznamy spouštěl dvakrát?

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.



  1. pomocí Async uvnitř transakce v aplikaci Spring

  2. Proč můj skript Redis Lua nemůže atomicky aktualizovat klíče na různých uzlech Redis Cluster?

  3. Najděte skupinu odlišných hodnot podle jiného pole mongodb

  4. Celkový počet hodin sběru objektů Mongodb