MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Teilmenge der MongoDB-Sammlung in einer anderen Sammlung speichern

Ich würde die Verwendung des Aggregationsframeworks empfehlen:

db.full_set.aggregate([ { $match: { date: "20120105" } }, { $out: "subset" } ])

Es funktioniert etwa 100-mal schneller als forEach zumindest in meinem fall. Dies liegt daran, dass die gesamte Aggregationspipeline im Mongod-Prozess läuft, während eine Lösung auf der Basis von find() und insert() muss alle Dokumente vom Server zum Client und wieder zurück schicken. Dies hat eine Leistungseinbuße zur Folge, selbst wenn sich Server und Client auf derselben Maschine befinden.