Consiglierei di utilizzare il framework di aggregazione:
db.full_set.aggregate([ { $match: { date: "20120105" } }, { $out: "subset" } ])
Funziona circa 100 volte più velocemente di forEach
almeno nel mio caso. Questo perché l'intera pipeline di aggregazione viene eseguita nel processo mongod, mentre una soluzione basata su find()
e insert()
deve inviare tutti i documenti dal server al client e poi indietro. Ciò comporta una riduzione delle prestazioni, anche se il server e il client si trovano sulla stessa macchina.