Node.jsで暗号資産アービトラージ

ビットコイントレード中心にNode.jsで実際に作るためのレシピ

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

※この記事は10/30に作成されました。

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

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

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

csvファイル

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が簡単に使えるので、使い分けてみましょう。

www.kennejs.com