コレクションを JSON にエクスポートする
最初のステップでは、MongoDB コレクションを JSON ファイルにエクスポートする基本的なプロセスを学びます。JSON (JavaScript Object Notation) は、MongoDB ドキュメントの豊富なネスト構造を保持する標準形式であり、バックアップや移行に最適です。
まず、MongoDB サーバーに接続し、サンプルデータをいくつか作成する必要があります。ターミナルで次のコマンドを実行して、MongoDB Shell を開きます。
mongosh
MongoDB Shell 内に入ると、新しいプロンプトが表示されます。次に、exportlab という名前の新しいデータベースを作成して切り替え、users コレクションに 3 つのドキュメントを挿入します。
use exportlab
db.users.insertMany([
{ name: "Alice", age: 28, email: "alice@example.com", status: "active" },
{ name: "Bob", age: 35, email: "bob@example.com", status: "active" },
{ name: "Charlie", age: 42, email: "charlie@example.com", status: "inactive" }
]);
ドキュメントが挿入された後、確認メッセージが表示されます。次に、MongoDB Shell を終了して通常のターミナルに戻ります。
exit;
データが準備できたので、mongoexport ユーティリティを使用して users コレクションをエクスポートできます。このコマンドは、データベース、コレクション、および出力ファイルを指定します。
mongoexport --db=exportlab --collection=users --out=$HOME/project/users.json
--db: 接続するデータベースを指定します (exportlab)。
--collection: エクスポートするコレクションを指定します (users)。
--out: 出力ファイルのパスとファイル名を指定します ($HOME/project/users.json)。
エクスポートが成功したことを確認するには、新しく作成された JSON ファイルの内容を表示します。
cat ~/project/users.json
挿入した 3 つのドキュメントが、それぞれ新しい行に JSON 形式で表示されます。この形式は JSONL (JSON Lines) と呼ばれ、各行には個別の完全な JSON オブジェクトが含まれています。MongoDB は各ドキュメントに一意の _id フィールドを追加することに注意してください。
{"_id":{"$oid":"656f1a6b..."},"name":"Alice","age":28,"email":"alice@example.com","status":"active"}
{"_id":{"$oid":"656f1a6b..."},"name":"Bob","age":35,"email":"bob@example.com","status":"active"}
{"_id":{"$oid":"656f1a6b..."},"name":"Charlie","age":42,"email":"charlie@example.com","status":"inactive"}