
久々にMongoLabを触った際にコマンドから接続すらできなくなっていたので備忘録。
あと、jsonファイルをインポートするときのフォーマットについてメモ。
環境
- ubuntu 14.04
mongoimport で “auth failed”
jsonファイルをインポートしようと、MongoLabに書いてあるとおりにコマンドを実行。
1 2 3 |
$ mongoimport -h *****.mongolab.com -d <db_name> -c <collection> -u <user> -p <password> --file <input file> プログラム 'mongoimport' はまだインストールされていません。 次のように入力することでインストールできます: sudo apt-get install mongodb-clients |
…そもそもクライアントもMongo自体も入ってなかったのでインストールする。
1 2 |
$ sudo apt-get update $ sudo apt-get install mongodb-clients |
再びコマンドを実行するも以下のエラーが発生。
1 |
assertion: 18 { ok: 0.0, errmsg: "auth failed", code: 18 } |
何やら認証がイクナイ模様。
--authenticationDatabase を指定しても意味なし。
また、普通にログインしようと接続しても同じ結果に。。。
バージョンの確認
ふと、MongoLabに表示されてるバージョンを見ると
3.2.9
ubuntuにインストールされているバージョンを確認してみる。
1 |
MongoDB shell version: 2.4.9 |
oh…
MongoLabのバージョンアップは非情に早いね 。
おそらくバージョン差異でエラーが出てると思われ。
最新版のMongoDBをインストールする
公式で丁寧に方法が書かれているのでそちらを参照。
Install MongoDB Community Edition on Ubuntu
一応まとめると以下。
1 2 3 4 5 6 7 8 9 10 11 |
# とりあえず消し去る(コレは任意) $ suto apt-get autoremove mongodb-clients $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 # ここはubuntuのバージョンによって違うので本家をご参照ください $ echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list $ sudo apt-get update $ sudo apt-get install -y mongodb-org |
バージョンを確認してみる。
1 |
MongoDB shell version: 3.2.10 |
MongoLabより若干新しいけど、、、大丈夫だと思う…
jsonファイルをインポート
再びインポートを実行するも以下のエラーが。
1 |
Failed: error processing document #2: invalid character ',' looking for beginning of value |
jsonファイルが悪いようだ。
中身はこんな感じ。
1 2 3 |
{"name": "hoge", "age": 30, "sex": "m"}, {"name": "foo", "age": 31, "sex": "f"}, {"name": "bar", "age": 32, "sex": "m"} |
何が悪いかというと、 ” }, ” がダメらしいorz
jsonェ…
なので、”,” を外してもう一度トライ。
1 2 3 |
{"name": "hoge", "age": 30, "sex": "m"} {"name": "foo", "age": 31, "sex": "f"} {"name": "bar", "age": 32, "sex": "m"} |
1 2 3 |
$ mongoimport -h *****.mongolab.com -d <db_name> -c <collection> -u <user> -p <password> --file <input file> 2016-10-17T17:13:28.040+0900 connected to: ****.mlab.com:00000 2016-10-17T17:13:28.695+0900 imported 10 documents |
やっと終わった。。。