设置MONGO_URL不从本地运行应用远程mongo连接到Atlas

时间:2016-09-26 06:10:51

标签: mongodb meteor

我尝试从本地运行连接到MongoDB Atlas上的远程mongodb设置。 我有一个来自Compose的正常mongo网址:

 MONGO_URL=mongodb://[username]:[password]@aws-us-east-1-portal.21.dblayer.com:10170/[database]

这适用于本地运行和部署到Galaxy的远程连接。

我使用Atlas进行了更复杂的副本集设置,并希望从本地开发和生产中连接到该数据库集。 Atlas网址看起来像这样:

 MONGO_URL=mongodb://[username]:[password]@cluster0-shard-00-00-xgnuk.mongodb.net:27017,cluster0-shard-00-01-xgnuk.mongodb.net:27017,cluster0-shard-00-02-xgnuk.mongodb.net:27017/[database]?ssl=true&replicaSet=Cluster0-shard-0&readPreference=primaryPreferred&w=majority&authSource=admin

当我部署到Galaxy时,我的应用程序成功连接到所需的Atlas数据库。但是,当我尝试将url本地设置为远程数据库时,就像我使用compose url一样,我的本地应用程序实例只连接到我的本地mongodb,没有任何警告或错误。

我尝试使用网址中的选项设置,但没有成功。我有什么想法可以实现这个目标吗?

(未启用分片)

1 个答案:

答案 0 :(得分:1)

使用'&'环境变量中的字符可能有问题(Mac OS)。请务必在引号中键入变量:

MONGO_URL='mongodb://[username]:[password]@cluster0-shard-00-00-xgnuk.mongodb.net:27017,cluster0-shard-00-01-xgnuk.mongodb.net:27017,cluster0-shard-00-02-xgnuk.mongodb.net:27017/[database]?ssl=true&replicaSet=Cluster0-shard-0&readPreference=primaryPreferred&w=majority&authSource=admin'

此处有更多详情:

https://forums.meteor.com/t/setting-mongo-url-not-applying-remote-mongo-connection-to-atlas-from-local-run/29718/5

https://docs.mongodb.com/manual/reference/connection-string/