Mongodump 失败 "a direct connection cant be made if multiple hosts are specified"

Mongodump fails with "a direct connection cant be made if multiple hosts are specified"

我有一个定期连接的开发和登台数据库(使用 mongoose.connect(<uri>))。

我想 mongodump 它们。我使用以下语法:

mongodump --uri=<uri>

这对开​​发人员来说工作正常,我能够使用此命令转储开发数据库。然而,登台数据库会产生以下错误:

失败:无法创建会话:配置连接器时出错:如果指定多个主机则无法建立直接连接

有谁知道或了解问题所在?我没有找到任何关于此错误的文档或帖子。

历史上,当给定一个包含一个主机(或要连接的单个主机)的 URI 时,一些 MongoDB 驱动程序会执行 直接连接 仅主机,一些驱动程序检查服务器的类型,如果它是副本集节点,连接到副本集(这可能导致 none 的查询或命令发送到最初在 URI 中给出的主机。

在 MongoDB 4.4 兼容的驱动程序中统一了行为,并添加了 directConnection URI 选项以强制执行任一行为(true 连接到指定的主机,false 执行发现;如果不是设置,驱动程序将执行历史上所做的任何操作。

直连时,只能指定一台主机。您的 URI 包含或解析为多个。

有关详细信息,请参阅 https://github.com/mongodb/specifications/pull/739