Jeg vil anbefale at bruge aggregeringsrammen:
db.full_set.aggregate([ { $match: { date: "20120105" } }, { $out: "subset" } ])
Det virker omkring 100 gange hurtigere end forEach
i hvert fald i mit tilfælde. Dette skyldes, at hele aggregeringspipelinen kører i mongod-processen, hvorimod en løsning baseret på find()
og insert()
skal sende alle dokumenter fra serveren til klienten og derefter tilbage. Dette har en ydeevnestraf, selvom serveren og klienten er på samme maskine.