私の顧客はmongoDB 2.4を使用しており、このバージョンにはいくつかの制限があるため、最新の安定したmongoDB 3.4.5にアップグレードするオプションを提供しています。
MongoDB 2.4でmongodumpを使用し、Mongodb 3.4.5でmongorestoreを使用する最初のテストは、インポートされたすべてのコレクションを確認できるため、問題なく機能しました。
ドキュメントから mongorestore 以前のバージョンのmongoDBからダンプを復元できることはどこにも言及されていませんでした。
Mongorestoreを使用できないため、 " mongoexport "を使用して、古いmongoDB 2.4のcsv/json形式でデータをエクスポートし、mongoDB 3.4の新しいバージョンにインポートできますか?
「mongodump」の代わりに「mongoexport/mongoimport」を使用して、mongoDB 3.4の新しいバージョンにアップグレードする場合に起こりうる問題は何ですか?
注:古いバージョンのmongoDBを完全に削除し、新しいバージョンのmongoDBをインストールします
MongodumpとMongorestoreは、次の理由により優れています。
MongoImportドキュメントのMongoImport で説明されているように:
警告
インスタンス全体の本番バックアップにmongoimportとmongoexportを使用しないでください。 JSONはBSONでサポートされるタイプのサブセットのみを表すことができるため、すべてのリッチBSONデータタイプを確実に保持するわけではありません。この種類の機能については、MongoDBバックアップ方法で説明されているように、mongodumpとmongorestoreを使用してください。
さらに、mongorestoreを使用したアップグレードについては十分に注意してください。以前と同じようにデータが復元されたからといって、MongoDBの新しいバージョンがデータで動作できるという意味ではありません。たとえば、v2.4以降、承認モデルに一連の変更がありました。つまり、 は最初にv2.6にアップグレードし、その後v3.0 にアップグレードする必要があります。各メジャーバージョンで同様の構造変更があるため、 段階的にアップグレードし、一度に1つのメジャーバージョンをアップグレードすることをお勧めします 。
http://www.dba86.com/docs/mongo/2.4/core/import-export.html から、mongoexportは2.4バージョンからサポートされています。したがって、それはそのための適切なツールでなければなりません。ただし、ドキュメントには警告メッセージも含まれています。
警告:インスタンス全体の本番環境のバックアップにmongoimportとmongoexportを使用しないでください。 JSONはBSONでサポートされるタイプのサブセットのみを表すことができるため、すべてのリッチBSONデータタイプを確実に保持するわけではありません。この種類の機能については、MongoDBのバックアップ方法で説明されているように、mongodumpとmongorestoreを使用してください。
お役に立てば幸いです!!!!