无法与Casbah连接,但它与ReactiveMongo一起使用

时间:2015-05-22 08:29:28

标签: mongodb scala casbah reactivemongo

我在使用Casbah连接到我的mongo数据库时遇到问题,它可以与ReactiveMongo一起使用。以下是Casbah使用的代码: val client = MongoClient(MongoClientURI("my_uri"))和ReactiveMongo:this.driver(actorSystem).connection(MongoConnection.parseURI("my_uri"))。我与Casbah的错误是:{ "serverUsed" : "host:27017" , "ok" : 0.0 , "errmsg" : "auth failed" , "code" : 18}。知道这可能来自何处?

1 个答案:

答案 0 :(得分:0)

如果不使用MongoDB服务器的默认属性,则可能需要显式设置authMechanism属性。

在MongoDB 3.0之前,默认的身份验证机制是MONGODB-CR,即“MongoDB质询 - 响应”协议。在MongoDB 3.0中,默认值已更改为SCRAM-SHA-1

如果未设置authMechanism,则底层Java驱动程序将根据服务器版本选择最安全的机制。

尝试将连接字符串更新为:

mongodb://login:password@host:port/database?authMechanism=MONGODB-CR