Bạn có thể sử dụng MapReduce công việc này.
MapReduce cho phép bạn chỉ định một bộ sưu tập ngoài để lưu trữ kết quả.
Khi bạn sử dụng một hàm bản đồ tạo ra mỗi tài liệu với khóa _id as của chính nó và một hàm giảm trả về mục nhập đầu tiên (và trong trường hợp này chỉ vì _id là duy nhất) của mảng giá trị, MapReduce về cơ bản là một hoạt động sao chép từ bộ sưu tập nguồn sang bộ sưu tập ngoài.
Mã chưa được kiểm tra:
db.runCommand(
{
mapReduce: "mongo_collection",
map: function(document) {
emit(document._id, document);
},
reduce: function(key, values) {
return values[0];
},
out: {
merge:"mongo_his_collection"
}
}
)