【发布时间】: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