【问题标题】:Mongo Compass 1.24.1 force replicaset topology discovery on connectionMongodb Compass 1.24.1 在连接时强制发现副本集拓扑
【发布时间】:2020-12-10 18:31:39
【问题描述】:

在 Mongo Compass 上创建新连接时,UI 会尝试发现整个副本集拓扑并连接到主/辅助 IP。

有没有办法像客户端 api 一样创建到 HOST/IP+Port 的直接连接并禁用拓扑发现步骤?

来自 pymongo 文档: directConnection(可选):如果为真,强制此客户端 以独立方式直接连接到指定的 MongoDB 主机。如果为 false,则客户端连接到给定 MongoDB 主机所属的整个副本集

【问题讨论】:

  • 最终 compass 将使用实现 directConnection 选项的节点驱动程序版本。
  • 今天使用什么驱动? mongodb.github.io/node-mongodb-native/3.6/api/… 第 155 行显示此标志。我想知道它在 Compass 1.23 上是如何工作的
  • 1.24.1 好像用的是 3.6.3。

标签: mongodb mongodb-compass


【解决方案1】:

如果您不想连接到副本集,请使用mongodb 连接字符串(而不是mongodb+srv),使用主机IP/端口,并删除&replicaSet= 参数。

【讨论】:

  • 使用基本连接字符串 (mongodb://localhost:27017) 仍然会导致问题。在错误中我可以看到 mongo 实例的真实 IP。我正在使用从我的 MAC 到 Mongo 实例的隧道
  • 当我尝试连接到 127.0.0.1:27017 时出现错误:getaddrinfo ENOTFOUND 10.10.0.290
【解决方案2】:

在 Jira 上向 Mongo 打开了一个 bug 票 https://jira.mongodb.org/browse/COMPASS-4534 修复应该在 1.42.2 版本中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多