MongoDB に CSV ファイルをインポートする

Bilal Shahid 2023年6月20日
  1. CSVファイル
  2. mongoimport コマンドを使用して MongoDB に CSV ファイルをインポートする
  3. まとめ
MongoDB に CSV ファイルをインポートする

この記事は、ユーザーが CSV ファイルを MongoDB のデータベースにインポートできるようにする mongoimport コマンドを使用する人々を支援するために特別にキュレーションされています。

この記事では、CSV ファイルとは何かについて説明します。 後の記事で役立つように、最初に CSV ファイルの例を示します。

CSV ファイルの例は、mongoimport コマンドを理解するのに役立ちます。 このコマンドは、MongoDB のデータベースにファイルをインポートするために使用されます。

記事に従って、mongoimport コマンドと、CSV ファイルを MongoDB データベースに適切にインポートする方法を理解してください。 ユーザーを支援するために、すべてが詳細に説明されています。

CSVファイル

このセクションは、CSV ファイルの概念を完全に理解することに専念しています。 CSV ファイルを使用すると、ユーザーはテキスト ファイルからデータベースにデータをインポートできます。

CSV は comma-separated values の略です。 CSV ファイルは、カンマで区切られたデータを含むテキスト ファイルです。

これにより、ユーザーは、MongoDB が後でデータベースのそれぞれの列に値を格納するために使用できるテーブル形式でデータを格納できます。

CSV ファイルと XLS ファイルの違い

Excel ファイルは、CSV ファイルと同じ機能を実行します。 ただし、CSV ファイルは、データをカンマで区切って保存するテキスト ファイルです。

一方、XLS ファイルは、すべてのワークシートに関する情報を保持するバイナリ ファイル形式の Excel シートを表します。 これには、コンテンツとフォーマットの両方に関する情報の保存が含まれます。

CSV ファイルの例

mongoimport コマンドをよりよく理解するために、CSV ファイルの例を使用します。 このセクションには、CSV ファイルの内容が表示されます。

後のセクションでは、この CSV ファイルの内容をデータベースにインポートする方法について説明します。

次の CSV ファイルがシステムで EmployeeData.csv という名前で、次の内容が含まれているとします。

Name,Address,City,State,ZIP
Jane Doe,123 Main St,Whereverville,CA,90210
James Robert,976 Austin Secret Lane,Roosevelt,Utah,84066
William Sophia,1704 Cooks Mine Road,Albuquerque,New Mexico,87109

mongoimport コマンドは、この CSV ファイルをデータベースにインポートします。

mongoimport コマンドを使用して MongoDB に CSV ファイルをインポートする

このセクションでは、mongoimport コマンドの使用について説明します。 上記のセクションで説明した EmployeeData.csv サンプル CSV ファイルを使用して、mongoimport コマンドを実行します。

これは、mongoimport コマンドの使用法を示しています。

$ cat > EmployeeData.csv
Name,Address,City,State,ZIP
Jane Doe,123 Main St,Whereverville,CA,90210
James Robert,976 Austin Secret Lane,Roosevelt,Utah,84066
William Sophia,1704 Cooks Mine Road,Albuquerque,New Mexico,87109
 ctrl-d
$ mongoimport -d mydb -c things --type csv --file EmployeeData.csv --headerline
connected to: 127.0.0.1
imported 4 objects
$ mongo
MongoDB shell version: 1.7.3
connecting to: test
> use mydb
switched to db mydb
> db.things.find()
{ "_id" : ObjectId("4d32a36ed63d057130c08fca"), "Name" : "Jane Doe", "Address" : "123 Main St", "City" : "Whereverville", "State" : "CA", "ZIP" : 90210 }
{ "_id" : ObjectId("4d32a36ed63d057130c08fca"), "Name" : "James Robert", "Address" : " 976 Austin Secret Lane", "City" : "Roosevelt", "State" : "Utah", "ZIP" : 84066}
{ "_id" : ObjectId("4d32a36ed63d057130c08fcb"), "Name" : "William Sophia", "Address" : "1704 Cooks Mine Road", "City" : "Albuquerque", "State" : "New Mexico", "ZIP" : 87109}

上記の例の最初の cat コマンドは、コマンドで指定された名前のファイルの内容を表示するために使用されます。

これは、言及されたファイルの内容をチェックアウトするためのオプションのコマンドです。 必要なコンテンツを含むファイルが存在することを確認するのに役立ちます。

次のコマンドは、CSV ファイルからデータベースにデータをインポートするメインの mongoimport コマンドです。 コマンドの形式は次のとおりです。

mongoimport <options> <connection-string> <file>

mongoimport コマンドの拡張形式は、以下で確認できます。

mongoimport --db DB_Name --collection Collection_Name --type csv --file File-Name-to-Import --headerline

mongoimport コマンドの各引数の説明は、上記の拡張形式または上記の例のように記述できます。

  1. db 引数は、コレクションを含むデータベースの名前を取ります。
  2. collection 引数は、コレクションの名前を取ります。
  3. type 引数は、インポートされるファイルのタイプを指定します。
  4. file 引数は、インポートする必要があるファイルの名前を取ります。
  5. headerline 引数は、ファイルの最初の行にフィールド名が含まれる mongoimport コマンドを指定します。

特定の引数を指定して mongoimport コマンドを使用すると、データベースにインポートされたオブジェクトの数がメッセージに表示されます。

その後、mongo コマンドを使用して MongoDB に接続し、次に接続するデータベースの名前と共に use コマンドを記述します。

db.things.find() 関数は、ファイルからデータベースにインポートされたオブジェクトを表示します。 このコマンドは、インポートされたすべてのオブジェクトを個別に表示します。

CSV ファイルのインポート時に認証を使用する

インポート中に CSV ファイルを認証することができます。 mongoimport コマンドを拡張して認証を許可するには、いくつかの引数を追加する必要があります。

インポート時に CSV ファイルの認証を許可する形式は次のとおりです。

d db_name -c collection_name --type csv --file filename.csv --headerline --host hostname:portnumber --authenticationDatabase admin --username 'iamauser' --password 'pwd123'

まとめ

MongoDB は、ドキュメント指向のクロスプラットフォーム データベース プログラムです。 オプションのスキーマが付属する JSON のようなドキュメントを使用します。

これは、プログラムのバックエンド ストレージを以前よりも簡単にするのに役立つ NoSQL データベース プログラムです。

MongoDB を使用すると、ユーザーは XLS ファイルや CSV ファイルなどのさまざまなファイルからデータをインポートできます。 この記事では、mongoimport コマンドを使用して CSV ファイルから MongoDB にデータをインポートする方法について詳しく説明しています。

著者: Bilal Shahid
Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub

関連記事 - MongoDB CSV