Bernhard: Axel hat recht, die Reihenfolge stimmt im Code von Marc. Das wegdoc.remove kommt erst nach der etwas "schwerfälligen" Art, wie er das nächste Dokument holt. Somit ist die Reihenfolge, erst nächstes Doc holen, dann ev. aktuelles Doc löschen korrekt.
Axel: Deine Begründung ist falsch. Wenn er am Anfang 10 Docs in der Collection hat, muss er auch 10 Docs überprüfen, egal wieviele er dabei löschen muss oder nicht. Dennoch, Deine Schleife ist natürlich sehr viel eleganter (und einfacher) als die von Marc, und damit natürlich auch weniger Fehleranfällig, gut möglich, dass Du das Problem beseitigt hast, auch wenn die Begründung nicht stimmen kann.
Marc: Welchen Wert hat den i in dem Moment, wo der Fehler auftritt, und wieviele Dokumente wurden bis dahin gelöscht und wieviele Documente warens denn (sprich, welchen Wert hat Zähler)?