Java 获取mongodb身份验证失败错误

Java 获取mongodb身份验证失败错误,java,playframework,playframework-1.x,mlab,Java,Playframework,Playframework 1.x,Mlab,我正在使用playframework-V1.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 %p

我正在使用playframework-V1.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 shell有联系。为什么会出现此错误?

我假设您正在使用该模块,并假设它使用“morphia.db.seeds”而不是“morphia.db.host”


可能是因为没有指定“seeds”,所以morphia模块正在连接到本地主机。

我假设您正在使用该模块,并假设它使用“morphia.db.seeds”而不是“morphia.db.host”


可能是因为没有指定“种子”,morphia模块正在连接本地主机。

也有同样的问题。 我想你是通过

use admin
db.addUser( "user", "pw" ) 
然而,play morphia似乎确实针对您正在使用的数据库进行身份验证,而不是针对admin数据库。以下解决了我的问题:

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

现在它应该可以工作了:)

也有同样的问题。 我想你是通过

use admin
db.addUser( "user", "pw" ) 
然而,play morphia似乎确实针对您正在使用的数据库进行身份验证,而不是针对admin数据库。以下解决了我的问题:

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

现在它应该可以工作了:)

它可以在本地主机上运行。但问题是如何与“蒙古人”合作。play框架是否支持MongorabPlay是Morphia的ontop,它是官方JavaMongo驱动程序的ontop。我不明白蒙古党为什么不被支持。Mongo协议相当简单,当套接字连接在计算机外部后,monogolab应该无法区分java客户端和终端客户端之间的区别。它可以在localhost上运行。但问题是如何与“蒙古人”合作。play框架是否支持MongorabPlay是Morphia的ontop,它是官方JavaMongo驱动程序的ontop。我不明白蒙古党为什么不被支持。Mongo协议相当简单,当套接字连接在计算机外部后,monogolab应该无法区分java客户端和终端客户端之间的区别。