首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接mongo地图集连接到play框架应用程序

连接mongo地图集连接到play框架应用程序
EN

Stack Overflow用户
提问于 2021-10-13 17:33:33
回答 2查看 268关注 0票数 0

我可以成功地将一个独立的集群连接到我的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)

要注意的事情:

  • 我有node.js v12.14.1
  • 授予用户适当的权限。
  • 选项参数也已经过URL encoded测试。
  • 我的ip地址在IP Access List中(在蒙戈地图集)
EN

回答 2

Stack Overflow用户

发布于 2021-10-23 10:17:56

对于连接,只需将mongodb.uri传递如下:

代码语言:javascript
复制
mongodb.uri = "mongodb+srv://${ATLAS_USERNAME}:${ATLAS_PASSWORD}@cluster0-p8ccg.mongodb.net"

不要对连接使用完整的连接字符串URL。

票数 -1
EN

Stack Overflow用户

发布于 2021-10-23 13:46:57

如果Atlas没有在DNS SRV中设置authSource=admin,请确保将?authSource=admin添加到连接URI。

还要注意的是,0.17已经两年多了,不会得到修复。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69559907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档