Je zou een MapReduce kunnen gebruiken werk hiervoor.
Met MapReduce kunt u een uit-verzameling specificeren om de resultaten in op te slaan.
Wanneer u een kaartfunctie hebt die elk document met zijn eigen _id als sleutel uitzendt en een reduce-functie die de eerste (en in dit geval alleen omdat _id's uniek zijn) invoer van de waardenarray retourneert, is de MapReduce in wezen een kopieerbewerking van de source-collectie naar de out-collectie.
Niet-geteste code:
db.runCommand(
{
mapReduce: "mongo_collection",
map: function(document) {
emit(document._id, document);
},
reduce: function(key, values) {
return values[0];
},
out: {
merge:"mongo_his_collection"
}
}
)