Ich würde die Verwendung des Aggregationsframeworks empfehlen:
db.full_set.aggregate([ { $match: { date: "20120105" } }, { $out: "subset" } ])
Es funktioniert etwa 100-mal schneller als forEach
zumindest in meinem fall. Dies liegt daran, dass die gesamte Aggregationspipeline im Mongod-Prozess läuft, während eine Lösung auf der Basis von find()
und insert()
muss alle Dokumente vom Server zum Client und wieder zurück schicken. Dies hat eine Leistungseinbuße zur Folge, selbst wenn sich Server und Client auf derselben Maschine befinden.