我可以成功地将一个独立的集群连接到我的Play Framework (2.7)应用程序(用ReactiveMongo 0.17.1),我还可以将MongoDb连接到我的复制集(在MongoDb Atlas中创建),但是连接我的MongoDb Atlas副本集到我的Play Framework应用程序有很大的问题。这应该是在connection string文件中使用application.conf的一种情况。
mongodb.uri = <connectionString>
实际上,ReactiveMongo文档将其描述为:
mongodb.uri = "mongodb+srv://${ATLAS_USERNAME}:${ATLAS_PASSWORD}@cluster0-p8ccg.mongodb.net/test?retryWrites=true&w=majority"
${ATLAS_USERNAME}__、${ATLAS_PASSWORD}和test (默认数据库名)的3个变量MongoDb地图集文档(登录时)将connection string描述为如下所示:
mongodb+srv://<username>:<password>@cluster0.pwe0y.mongodb.net/myFirstDatabase?retryWrites=true&w=majority
<username>__、<password>和myFirstDatabase (默认数据库名)的3个变量因此,除了地址上的一些可变差异(我使用Atlas中的一个,因为它与我的详细信息不同)
重复出现的错误如下:
[error] r.c.a.MongoDBSystem - [Supervisor-1/Connection-2] Fails to send a isMaster request to cluster0-shard-00-01.pwe0y.mongodb.net:27017 (channel #ac1cfe76) javax.net.ssl.SSLException: SSLEngine closed already at reactivemongo.io.netty.handler.ssl.SslHandler.wrap(...)(Unknown Source)
要注意的事情:
URL encoded测试。IP Access List中(在蒙戈地图集)发布于 2021-10-23 10:17:56
对于连接,只需将mongodb.uri传递如下:
mongodb.uri = "mongodb+srv://${ATLAS_USERNAME}:${ATLAS_PASSWORD}@cluster0-p8ccg.mongodb.net"不要对连接使用完整的连接字符串URL。
发布于 2021-10-23 13:46:57
如果Atlas没有在DNS SRV中设置authSource=admin,请确保将?authSource=admin添加到连接URI。
还要注意的是,0.17已经两年多了,不会得到修复。
https://stackoverflow.com/questions/69559907
复制相似问题