1

playframework -v 1.2.4 を使用し、morphia プラグインを使用しています。play test を実行して mongolab db に接続すると、次のエラーで例外がスローされます。

Oops: RuntimeException
An unexpected error occured caused by exception RuntimeException:
MongoDB authentication failed: mydb

次のように私のapplication.conf..、

application.mode=dev
%prod.application.mode=prod
morphia.db.host=ds033187.mongolab.com
morphia.db.port=33187
morphia.db.username=demo
morphia.db.password=demo
morphia.db.name=mydb

ただし、上記の資格情報はmongodbに接続できます

D:\mongodb-win32-i386-2.0.1\bin>mongo ds033187.mongolab.com:33187/mydb -u demo -p demo
MongoDB shell version: 2.0.1
connecting to: ds033187.mongolab.com:33187/mydb
>

しかし、私はmongodbシェルと接続しています。なぜこのエラーが発生するのですか?

4

2 に答える 2

1

PlayMorphiaモジュールを使用していると仮定しています。ドキュメントをざっと見てみると、「morphia.db.host」ではなく「morphia.db.seeds」が使用されています。

「seeds」が指定されていないため、morphia モジュールがローカルホストに接続している可能性があります。

于 2012-05-04T07:11:18.730 に答える
0

まったく同じ問題がありました。私はあなたが経由してユーザーを追加したと思います

use admin
db.addUser( "user", "pw" ) 

ただし、play morphiaは、admin dbに対してではなく、使用しているdbに対して認証を行うようです。以下は私の問題を解決しました:

/path/to/mongo
use admin
db.auth( "user", "pw" )
use myDatabase
db.addUser( "user", "pw" ) 

今それは動作するはずです:)

于 2012-05-16T20:58:13.407 に答える