雑多な技術系メモ

自分用のメモ。内容は保証しません。よろしくお願いします。

pymongo.errors.OperationFailure: Authentication failed.

課題

pymongoから、mlabで作成したデータベースにアクセスしようとした際に 以下のようなエラー

pymongo.errors.OperationFailure: Authentication failed.

対処

1. ユーザーを作成

以下を参考に、アカウントを自分で作ってみた http://sh-yoshida.hatenablog.com/entry/2016/08/31/005439

2. mlabへの接続

mlabの自分のページの上部に以下のように書いてある。

mongodb://<dbuser>:<dbpassword>@<address>:<port>/<dbname>

それらの情報を用いて、以下のようにpymongoでは mlabのデータベースに接続する ※,は1.で作成したユーザーのもの

client = MongoClient(<address>,<port>)
db = client.<dbname>
db.authenticate(<usrname>, <dbpassword>)
col = db.<collection_name>