kenkovlog

けんこふたんっオフィシャユブヨグッ
アンッ!アンッ!アンッ!アンッ!

mongodb で dump と restore

mongodb で古いデータベースを新しいデータベースにマージしたい。このとき

  • mongodump
  • mongorestore

が使える。

状況

古いサーバA
  • データベース: twitter
  • コレクション: tweets
新しいサーバB
  • データベース: twitter
  • コレクション: tweets

両方に上のようなデータがあるとする。古いサーバ A から新しいサーバ B にデータをマージしたいときどうするかというお話。

まずはサーバ A でデータベース twitter をダンプする。

$ mongodump --db twitter --collection tweets --out ./mongodump

そうすると、mongodump というディレクトリが作成されて、その下にダンプファイルが置かれる。 これを rsync なんかを使ってサーバ B へもってきて mongrestore すればよい。

$ mongorestore  --db twitter --collection tweets ./mongodump/twitter/tweets.bson
けんこふたん