Ponz Dev Log

ソース派のシステムエンジニアの開発日記

MongoDBでのmongoとmongod以外のクライアントプログラム

DBって基本のクライアントプログラム以外にも、クライアントプログラムが入ってるって最近気づきました。 NoSQLのMongoDBも同じようなクライアントプログラムがないか確認しました。MySQLも同様にたくさんあるようですね。

今回はMongoDBのクライアントプログラムの備忘録です。 MongoDBのDBaaSである、mlabの"Tools"タブに用例が書いてありました。

mlab.com

MongoDB Package Components — MongoDB Manual 3.6

使いそうなクライアントプログラムには、以下のようなものがありました。

  • はじめによく使うやつら
    • mongo, mongos, mongod
  • CSV, TSV, JSONを扱うとき
    • mongoimport
    • mongoexport
  • バックアップ・リストア(バイナリ)をするとき
    • mongodump
    • mongorestore

単純にCSVをインポートするなら、オプションをつけて実行すればOK。

# 基本形
mongoimport -h <hostname> -d <dbname> -c <collection> \
                       -u <user> -p <password> --file <input .csv file> \
                       --type csv --headerline 

# カラムに属性を明示的に付ける場合
mongoimport -h <hostname> -d <dbname> -c <collection> \
                       -u <user> -p <password> --file <input .csv file> \
                       --type csv --columnsHaveTypes \
                       --fields "field1.string(),field2.int32()"