クライアントに提供するキーとして MongoDB _id を使用する予定です。したがって、あるコレクションから別のコレクションにデータを移動する必要がある場合でも、このキーを変更しないことが要件です。コピーは、db.copyDatabase() または mongoimport を使用して実行されます。
あるコレクションから別のコレクションにデータをコピーする方法の 1 つは、最初のコレクション (C1) 内のドキュメントを反復処理し、これらのドキュメントを 2 番目のコレクション (C2) に挿入することです。この場合、挿入されるドキュメント (C1 の) に _id が存在するため、_id は (C2 で) 同じままである必要があります (_id を自分で提供する場合と同じです)。
ただし、ドキュメントをコピーする別の方法がある場合、_id は以下に依存するため、変更される可能性があります。
(1) UNIX タイムスタンプ (2) マシン識別子 (3) ProcessId
(**これは、コピー中に MongoDB が C1 のドキュメントから _id を削除し、C2 への挿入中にそれらを再生成した場合にのみ発生しますか?)
宛先コレクションの場所に関係なく、_id 値を同じにする必要があります: (1) 同じデータベース内 (2) 異なるデータベース - 同じマシン (3) 異なるデータベース - 異なるマシン)
ありがとう