MongoDBのデータをcsvファイルで検証する(mongoexport)

アウトプット

※当サイトはアフィリエイト広告を利用しています

MongoDBからcollectionの情報を出力するmongoexportについて解説します。

mongoimportと組み合わせることでcsvやjson形式のデータファイルをMongoDBに簡単に入出力できるようになります。

MongoDBのデータをデータファイル形式にしてExcelなどの表計算ソフトで検証することができます。

mongoexportの使い方

まずはmongoexportの基本的な使い方を説明します。

Linuxのコマンドラインから入力します。(MongoDBへのコマンドを入力するmongoシェルではありません)

mongoexport --port 27017 --db common --username kenne --password kennepassword --collection user --type csv --out /home/kenne/user.csv --fields userName,age

必須のオプションは「–collection (collection名)」です。

–typeはcsvまたはjsonを指定します。

csvファイルの場合は–fieldsが必須項目でカラム名を入力します。カラム名は過不足があっても問題なく動作しますが、一致していない項目はNULLで出力されます。

公式ドキュメント(mongoexport)(英語)

mongoimportの使い方

mongoimportはcsvやjsonファイルをcollectionに入力することができます。 Linuxのコマンドラインから入力します。
mongoimport --port 27017 --db common --username kenne --password kennepassword --collection onehourdata --type csv --drop --file onehourdata.csv --headerline
  • –db(データベース名)
  • –collection(コレクション名)
  • –type(csvまたはjson)
  • –file(ファイル名)

のオプションはないと動かないので設定しましょう。

–dropを設定すると今あるcollectionのデータを消してimportできます。

また、csvの場合はヘッダー付の場合、–noheaderlineでcsvの1行目をスキップします。
ヘッダー無しの場合は–fieldsオプションでヘッダー(項目名)を指定します。

公式ドキュメント(mongoexport)(英語)

 

mongoexportとmongodumpの違い

mongoexportと似たようなコマンドにmongodumpがありますので、違いをまとめておきます。

mongoexportはcsvファイルで出力できる

mongoexportはjsonまたはcsv形式でMongoDBのデータを出力することができるので、ファイル形式でのデータ検証できます。

MongoDBはqueryでデータ抽出を頑張るとfind()文が長くなってしまうので、csv形式でExcelで検証できるのは便利です。

mongodumpはbson(バイナリjson)形式なので、データ検証はできません。

mongodumpはバックアップ運用に便利

mongodumpはdatabase単位(複数collection)でバックアップを取れるので、バックアップ運用が便利です。

mongorestoreと組み合わせるとcollectionごとにリストアできる手軽さもあるので、バックアップはmongodumpを使うように使い分けがオススメです。

MongoDBでmongodumpを利用してバックアップを取得する – Node.jsで暗号資産アービトラージ

mongoexportの使い方まとめ

mongoexportとmongoimportの基本の使い方とサンプルコードを解説しました。

mongoexportはcsvやjson形式でデータを取り出せるので便利です。

バックアップ運用にはmongodumpが簡単に使えるので、使い分けてみましょう。

MongoDBの使い方まとめに戻る。

自作アプリケーションを作るならさくらのVPS が手軽で使いやすいです。MongoDBは軽いので最低料金プランのVPSでも運用できます。【初めてでも簡単!】VPSの比較ランキングでも紹介しています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


ABOUT US

ケネ
はじめまして、ケネです。

Node.jsの技術情報を書いています。

一人でも多くの方と「自分でもできた」感覚を共有したいので、なるべくわかりやすく、実体験ベースでのブログを心がけています。
技術で自分の世界を広げましょう。

不明点や質問があればお気軽にコメントください。