MapReduce を使用できます このための仕事。
MapReduceを使用すると、結果を保存するアウトコレクションを指定できます。
キーとして独自の_idを使用して各ドキュメントを発行するmap関数と、values配列の最初の(この場合は_idが一意であるためのみ)エントリを返すreduce関数を使用する場合、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"
}
}
)