MongoDBのデータ移行

表題の通り。MongoDBのデータを移行する。全データではなく特定のコレクションだけを対象にして行う。`mongodump`/`mongorestore`もあるが、今回は`mongoexport`/`mongoimport`で移行する。

■ 環境

  • MongoDB 3.0.7

■ mongoexport

対象のMongoDBのホストに接続可能なマシン上で下記を実行する。

$ mongoexport --host [mongo_host] --db [db] --collection [collection] --out [output.json]
  • host: db01
  • db: master
  • collection: shop

接続先のMongoDB、対象のDB/コレクションを上記とすると、下記のようなコマンドになる。ちなみに出力はJSON形式なので”[collection].json“としている。

$ mongoexport --host db01 --db master --collection shop --out shop.json
2015-11-24T19:09:50.215+0900    connected to: db01
2015-11-24T19:09:50.642+0900    exported 10408 records
$

■ mongoimport

`mongoexport`で出力したJSONファイルをインポートする。

$ mongoimport --host [mongo_host] --db [db] --collection [collection] --file [input.json]
  • host: db02
  • db: master
  • collection: shop

上記とるすると、下記のようなコマンドとなる。

$ mongoimport --host db02 --db master --collection shop --file shop.json
2015-11-24T19:12:24.439+0900    connected to: tf0054_mongo
2015-11-24T19:12:24.801+0900    imported 10408 documents
$

データを確認する。

$ mongo --host db02 master
MongoDB shell version: 3.0.8
connecting to: db02:27017/master
>
> show collections
shop
system.indexes
>
> db.shop.count()
10408
>

以上。

■ 関連

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください