Saya akan menyarankan menggunakan kerangka kerja agregasi:
db.full_set.aggregate([ { $match: { date: "20120105" } }, { $out: "subset" } ])
Ini bekerja sekitar 100 kali lebih cepat daripada forEach
setidaknya dalam kasus saya. Ini karena seluruh pipa agregasi berjalan dalam proses mongod, sedangkan solusi berdasarkan find()
dan insert()
harus mengirim semua dokumen dari server ke klien dan kemudian kembali. Ini memiliki penalti kinerja, bahkan jika server dan klien berada di mesin yang sama.