是什么导致“MongoError:超时时没有可用的 mongos 代理”?

Str*_*ch0 5 google-app-engine mongodb node.js google-cloud-platform

尝试从我在 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
Run Code Online (Sandbox Code Playgroud)

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

mog*_*oli 0

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

在此输入图像描述