Możesz użyć MapReduce za to pracę.
MapReduce umożliwia określenie kolekcji wyjściowej, w której będą przechowywane wyniki.
Kiedy masz funkcję mapy, która emituje każdy dokument z własnym kluczem _id i funkcją zmniejszania, która zwraca pierwszy (i w tym przypadku tylko dlatego, że _id są unikalne) wpis tablicy wartości, MapReduce jest zasadniczo operacją kopiowania z source-collection do out-collection.
Nieprzetestowany kod:
db.runCommand(
{
mapReduce: "mongo_collection",
map: function(document) {
emit(document._id, document);
},
reduce: function(key, values) {
return values[0];
},
out: {
merge:"mongo_his_collection"
}
}
)