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

アウトプット

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

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

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

mongoexportの使い方

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

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

必須のオプションは–collectionです。

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

csvファイルの場合は–fieldsにカラム名を入力します。(必須項目)

カラム名は過不足があっても問題なく動作しますが、collectionのkey(項目名)と一致させます。

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

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

mongoimportの使い方

mongoimportはcsvやjsonファイルをcollectionに入力することができます。

Linuxのコマンドラインから入力します。

–db(データベース名)
–collection(コレクション名)
–type(csvまたはjson)
–file(ファイル名)
のオプションはないと動かないので設定しましょう。

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

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

mongoimport --port 27017 --db common --username kenne --password kennepassword --collection onehourdata --type csv --drop --file onehourdata.csv --headerline

公式ドキュメント(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とmongoimportの基本の使い方とサンプルコードを解説しました。

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

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

コメントを残す

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

CAPTCHA


ABOUT US

はじめまして、ケネです。 Node.jsや仮想通貨APIトレードなどの技術情報を書いています。 一人でも多くの方と「自分でもできた」感覚を共有したいので、なるべくわかりやすく、実体験ベースでのブログを心がけています。 技術で自分の世界を広げましょう。 不明点や質問があればお気軽にコメントください。