1

githubを使用してファイルをバージョン管理していますが、データベースもバージョン管理したいと思います。この場合は、テストのみを目的としています。

ただし、mongodbによって作成されたデータベースファイルは変更されません。ファイル変更データは数週間前です:sしたがって、githubには古いデータがあります。

データベース内の一部のデータを変更すると、mongodbがファイルに保存されない理由がよくわかりません...または少なくともファイルが何らかの形で変更されている必要があります。

4

1 に答える 1

1

MongoDBはデータファイルを事前に割り当て、徐々にいっぱいになります。おそらくそれが、変更が適切に反映されない理由です。

余談ですが、MongoDB データベースのバージョン管理に考えられるすべての方法の中で、datadir 自体を Git リポジトリに保持することが最善の方法であるかどうかはわかりません。

代替手段: 実行mongodumpするとBSONデータベースまたはコレクションの -dump が生成され、実行mongoexportするとJSONorが生成されCSVます。mongorestore両方ともとで読み戻すことができます。ドキュメントmongoimportを参照してください。

これらのダンプは、お気に入りのツールを使用してバージョン管理できます。個人的には、Git を使用する場合、JSON ダンプをバージョン管理します。

mongoexport --db mydatabase --collection mycollection > mycollection.json

選択したコレクションの内容を含む JSON ファイルが生成されます (必要に応じて、データベース全体をダンプできます)。

さらに、 と を追加する--csv--fields fieldname1,fieldname2、素敵な CSV ファイルをダンプして、別のプログラムで読み込むことができます。

于 2012-07-25T22:07:04.490 に答える