Можете да използвате MapReduce работа за това.
MapReduce ви позволява да посочите изходяща колекция, в която да съхранявате резултатите.
Когато имате функция за карта, която излъчва всеки документ със собствен _id като ключ и функция за намаляване, която връща първия (и в този случай само защото _id са уникални) запис на масива от стойности, MapReduce е по същество операция за копиране от изходна колекция към изходяща колекция.
Нетестван код:
db.runCommand(
{
mapReduce: "mongo_collection",
map: function(document) {
emit(document._id, document);
},
reduce: function(key, values) {
return values[0];
},
out: {
merge:"mongo_his_collection"
}
}
)