Jag skulle råda dig att använda aggregeringsramverket:
db.full_set.aggregate([ { $match: { date: "20120105" } }, { $out: "subset" } ])
Det fungerar ungefär 100 gånger snabbare än forEach
åtminstone i mitt fall. Detta beror på att hela aggregeringspipelinen körs i mongod-processen, medan en lösning baserad på find()
och insert()
måste skicka alla dokument från servern till klienten och sedan tillbaka. Detta har en prestationsstraff, även om servern och klienten är på samma dator.