Dit gebeurt omdat, hoewel
db.repo.remove({"date" : {"$lt" : new Date(1362096000000)}})
ziet eruit als een enkele opdracht die in feite op veel documenten werkt - zoveel als aan deze vraag voldoen.
Wanneer u replicatie gebruikt, moet elke wijzigingsbewerking worden geschreven naar een speciale verzameling in de local
database genaamd oplog.rs
- kortweg oplog.
De oplog moet een vermelding hebben voor elk verwijderd document en elk van die vermeldingen moet worden toegepast op de oplog op elk secundair voordat het ook hetzelfde record kan verwijderen.
Een ding dat ik je kan aanraden is TTL-indexen - ze zullen "automatisch" documenten verwijderen op basis van de vervaldatum/waarde die u instelt - op deze manier hoeft u niet één keer massaal te worden verwijderd en kunt u in plaats daarvan de belasting over de tijd spreiden.