mongodbのデータをコレクション単位で移動する

試験環境のmongodbに投入されたデータをコレクション単位で本番環境へ移動。mongodumpとmongorestoreを使います。

まずダンプ

以下のようにしてコレクションとデータベースを指定してダンプ。

$ mongodump -d database -c collection -o backup

'-d'でデータベース名を、'-c'でコレクション名を指定。'-o'でダンプファイルのディレクトリを指定します。上記の様に実行すると、

backup/database/collection.bson

というダンプファイルができます。

リストア

上記で作成されたダンプファイルを今度はmongorestoreを使ってmongodbへ投入します。

$ mongorestore -d database -c collection collection.bson

最後の引数はmongodumpで吐き出されたダンプファイル。もし投入したいコレクション名と同じコレクションがすでにあり、それを完全に上書きしたいときは--dropオプションをつけてあげればいいようです。