Je conseillerais d'utiliser le framework d'agrégation :
db.full_set.aggregate([ { $match: { date: "20120105" } }, { $out: "subset" } ])
Cela fonctionne environ 100 fois plus vite que forEach
du moins dans mon cas. En effet, l'intégralité du pipeline d'agrégation s'exécute dans le processus mongod, alors qu'une solution basée sur find()
et insert()
doit envoyer tous les documents du serveur au client, puis les renvoyer. Cela a une baisse de performance, même si le serveur et le client sont sur la même machine.