当前位置: 首页 > 知识库问答 >
问题:

在mongoDB连接字符串中指定多个服务器会阻止它连接,但只指定主服务器有效

壤驷高旻
2023-03-14

我们有4个mongoDB服务器,其中第一个服务器目前是主服务器,有3个副本。如果我在连接字符串中指定所有4个服务器,它根本无法连接,但如果我只指定第一个服务器,它连接良好。这是不好的,因为如果第一个服务器失败,它将无法连接。

工作原理:mongoDb://login:password@server1:27017/admin?readpreference=primary

共有1个答案

邢博文
2023-03-14

您需要将模式添加到连接字符串中:replicaset=myrepl

 类似资料:
  • 我想连接到一个URL,这是阻止,使用python请求。 我使用了许多不同的代理服务器没有一个为我工作。https://free-proxy-list.net/ 回溯(最近一次调用last):文件“t.py”,第14行,在a=requests.get('https://my-url“,proxies=proxyDict)文件“/home/user/Documents/backend1/venv-li

  • 我正在尝试连接两个docker容器,一个是posgresql,另一个是python flask应用程序。两者都链接正确,python应用程序中的所有连接变量都直接取自postgres容器中通过链接公开的连接变量,并且与检查postgresql容器时发现的连接变量相同。当我将psql与连接字符串中的精确参数一起使用时,即: 成功连接到postgres容器中的数据库,因此我知道postgres正在通过

  • 问题内容: 我想编写一个脚本来测试所有链接的服务器,并返回唯一已连接的服务器(可以肯定只有一个)。 这是我当前的脚本,但是我被困在这一点上: 但是使用此查询,代码无法在第一次迭代时停止,因为它无法连接到表的第一台服务器。这是错误消息: 链接服务器“ server1”的OLE DB提供程序“ MSDASQL”返回了消息“通信链接失败; -10709连接失败(连接超时已过期)”。消息7303,级别16

  • 请看下面的堆栈跟踪 在启用了Kerberos的调试代码之后,当我调用filesystem.get()时,我得到了下面的调试日志;Kerberor调试日志: Java配置名称:null Java配置名称:null Native config名称:/etc/krb5.conf Native config名称:/etc/krb5.conf从Native config加载从Native config加载1

  • 线程“main”java.net.ConnectException:连接超时:在java.net.dualStackplainsockeTimpl.Connect0(本机方法)在java.net.dualStackplainsockeTimpl.socketConnect(DualStackplainsockeTimpl.java:69)在java.net.abstractplainsockeTi

  • 所以我现在正在编写一个web应用程序,我需要数据库,所以我决定使用mongodb和Mongoose。到目前为止,我在localhost上测试了所有的内容,它都起作用了,但我想把数据移到服务器上。我听说过Atlas,自己注册并“上传”了数据。 现在我想通过Node.js应用程序连接到集群。 我在连接您的应用程序点得到了mongodb Atlas站点的字符串 然后我交换了我的密码。 这也没用。 这是错