MongoDBのネイティブなデータベースバックアップとリストアの実装方法
MongoDBにデータバックアップとリストアを実装するには、次の手法を使用できます。
データをバックアップする
- mongodumpコマンドでデータをバックアップできます。このコマンドは、データベース全体または指定したコレクションのデータをエクスポートできます。
mongodump --db <database_name> --collection <collection_name> --out <backup_directory>
指定したデータベースまたはコレクションのデータをエクスポートして、指定したバックアップディレクトリに保存します。
- mongodump コマンドを実行する前に、–query パラメータを使用してバックアップするデータをフィルタできます。たとえば、特定の日付以降のデータをエクスポートするには、次のようにします。
mongodump --db <database_name> --collection <collection_name> --query '{date: {$gte: new Date("<date>")}}' --out <backup_directory>
データの復元:
- mongorestoreコマンドを使って、バックアップからデータをリストアします。このコマンドによって、バックアップディレクトリからMongoDBにデータをインポートできます。
mongorestore --db <database_name> --collection <collection_name> <backup_directory>
指定データベースまたはコレクションのバックアップディレクトリのデータをMongoDBにインポートします。
- 複数のデータベースやコレクションのデータがバックアップディレクトリに含まれている場合は、–nsIncludeパラメータを使用して復元するデータベースとコレクションを指定できます。
mongorestore --nsInclude '<database_name>.<collection_name>' <backup_directory>
バックアップ/リストア処理はMongoDBのサーバー上で行うので、MongoDBのbinディレクトリがシステムのPATH環境変数に設定されていることを確認してください。バックアップ/リストア操作を実行するために十分な権限があることも確認してください。