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
コマンドの各引数の説明は、上記の拡張形式または上記の例のように記述できます。
db
引数は、コレクションを含むデータベースの名前を取ります。collection
引数は、コレクションの名前を取ります。type
引数は、インポートされるファイルのタイプを指定します。file
引数は、インポートする必要があるファイルの名前を取ります。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 にデータをインポートする方法について詳しく説明しています。
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