【问题标题】:What is causing "MongoError: no mongos proxy available at Timeout"?是什么导致“MongoError:超时时没有可用的 mongos 代理”?
【发布时间】:2018-04-20 23:24:55
【问题描述】:

尝试从我在 Google Cloud App Engine 上运行的 Node 应用程序连接到 Atlas mongodb 实例并收到以下错误:

MongoError: no mongos proxy available at Timeout

我的连接字符串基本上是这样的:(出于显而易见的原因,已经稍微更改了一些分片的名称)

mongodb://
<username>:<password>@
shard-00-00-hfnfz.gcp.mongodb.net:27017,
shard-00-01-hfnfz.gcp.mongodb.net:27017,
shard-00-02-hfnfz.gcp.mongodb.net:27017
/test
?ssl=true
&replicaSet=shard-0
&authSource=admin

我可以使用 Compass 从本地正常连接。但是,当尝试通过我在 Google Cloud App Engine 中运行的应用程序进行连接时,我的日志中出现了上述错误。

【问题讨论】:

  • 使用 mLab 测试,连接良好。一定和阿特拉斯有关。尽管我的 Atlas mongo 实例云提供商设置为 Google Cloud,但您会认为它可以很好地协同工作。
  • 这听起来类似于github.com/Automattic/mongoose/issues/3945,你使用的是哪个版本的猫鼬?
  • 我也发现了这个问题,谁能找到解决办法?
  • @AlongkornChetasumon 您的 Mongoose 和 MongoDB 节点驱动程序的版本是什么?您尝试连接的 Atlas 实例类型是什么?升级到最新的 Mongoose 版本可能会解决,但如果这没有帮助,我建议发布一个新问题,其中包含特定于您的环境的详细信息。
  • 不,我没有。我最终使用了 mlab。 @PavelBely 你有运气解决这个问题吗?

标签: node.js mongodb google-app-engine google-cloud-platform


【解决方案1】:

确保您已将来自 Atlas 端服务器的 IP 列入白名单(来自安全选项卡)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 2020-10-12
    • 2014-08-13
    • 1970-01-01
    • 2021-04-19
    相关资源
    最近更新 更多