Souhlasím s Remonem, ale zmiňujete dávky 1000, což jeho odpověď ve skutečnosti nepokrývá. Na kurzoru můžete nastavit velikost dávky:
cursor.batch_size(1000);
Záznamy můžete také přeskočit, např.:
cursor.skip(4000);
Je to to, co hledáš? Toto je ve skutečnosti vzor stránkování. Pokud se však jen snažíte vyhnout vyčerpání paměti, pak ve skutečnosti nemusíte nastavovat velikost dávky nebo přeskakovat.