MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Salva il sottoinsieme della raccolta MongoDB in un'altra raccolta

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.