Edited at

MongoDBのデータダンプとリストア

本番データでローカルテストする際によく使っているので忘れぬようにまとめました。他にも色々とオプションがあるので気になる方はhelpで確認してください


データダンプ

mongodump --port #{port} -d {database} -c #{collection} --out #{out} --query #{query}

特定のデータベースまたはコレクションのみを抽出するということでなければdオプションとcオプションは必要ありません。outオプションは出力先のディレクトリパスです。データベース/コレクション.(bson|json)が生成されます

データ量が多い場合は--queryでクエリが使えますが、extended json形式なのでISODateを直接条件にはできません


リストア

mongorestore --port #{port} -d #{database} -c {collection} --dir #{(dir|bson)}

コレクションレベルまで指定してリストアする場合はdirオプションで指定するものはディレクトリではなくbsonファイルになります(データベースも然り)


リストア時とダンプ時のコレクションのインデックスや設定値が異なる場合はnoIndexRestoreオプションやnoOptionsRestoreオプションを付けることでリストア時のコレクションの状態をベースにテストできますφ(..)....