Бих посъветвал да използвате рамката за агрегиране:
db.full_set.aggregate([ { $match: { date: "20120105" } }, { $out: "subset" } ])
Работи около 100 пъти по-бързо от forEach
поне в моя случай. Това е така, защото целият конвейер за агрегация работи в процеса mongod, докато решение, базирано на find()
и insert()
трябва да изпрати всички документи от сървъра до клиента и след това обратно. Това води до намаляване на производителността, дори ако сървърът и клиентът са на една и съща машина.