我使用meteor deploy myapp.com
部署了我的应用,并将我的DNS定向到myapp.meteor.com
。
该应用程序现已在myapp.com上提供,我运行它没有问题。它是部署到" myapp.com"的正确版本。而不是年长的" myapp.meteor.com"版本
但我无法访问此部署版本的mongodb。
当我运行meteor mongo myapp.com
时,我会在终端上找到它:
MongoDB shell version: 2.6.7
connecting to: sg-mother1-6242.servers.mongodirector.com:27017/myapp_com
2016-03-10T16:46:18.659-0800 Error: 18 { ok: 0.0, errmsg: "auth failed", code: 18 } at src/mongo/shell/db.js:1210
exception: login failed
运行meteor mongo myapp.meteor.com
时,我也遇到了同样的错误:
MongoDB shell version: 2.6.7
connecting to: someserver.servers.mongodirector.com:27017/myapp_meteor_com
2016-03-10T16:45:54.367-0800 Error: 18 { ok: 0.0, errmsg: "auth failed", code: 18 } at src/mongo/shell/db.js:1210
exception: login failed
当我meteor mongo --url myapp.com
时,我会收到表单的网址:
mongodb://<user>:<password>@<some-servername>.servers.mongodirector.com:27017/myapp_com
但是我无法使用Robomongo连接到此URL。我收到一个错误:
Cannot connect to MongoDB (<some-servername>.servers.mongodirector.com:27017),
error: Unable to connect to MongoDB
我做错了什么?如何连接到我在自定义域上部署的应用程序的mongoDB?最好使用一些GUI工具,如Robomongo?
答案 0 :(得分:0)
据我所知,Meteor的本地安装使用Mongodb 2.6,新部署的Meteor网站使用Mongodb 3.0
当您致电meteor mongo myapp.meteor.com
时,您正在使用meteor的本地安装版本的mongo(版本2.6),但您正在尝试访问已部署的mongodb(版本3.0)。这会导致您获得身份验证错误。
This link描述了一种对我有用的解决方法。我不得不稍微调整一下,但这就是我所做的:
运行命令meteor mongo --url myapp.meteor.com
以获取MONGO_URL。正如您已经提到的,您将获得类似
mongodb://<user>:<password>@<some-servername>.servers.mongodirector.com:27017/myapp_com
通过运行
使用更新的非流星版mongo连接到MONGO_URLmongo mongodb://<user>:<password>@<some-servername>.servers.mongodirector.com:27017/myapp_com
你现在应该在mongoshell中,连接到你部署的mongodb。您应该在mongo shell中看到类似RS-mother1-0:PRIMARY>
的内容。您仍然需要切换到应用程序的数据库。所以从shell中调用use myapp_com
。
您现在应该能够在已部署的meteor mongodb上查看集合并运行mongo命令。
我不确定为什么你不能使用流星为MONGO_URL为你生成的用户名和密码连接到Robomongo。我怀疑它是因为它可能会过期。如果您仍想使用Robomongo进行连接,我建议您在登录后立即在数据库上创建用户。然后再使用该用户登录Robomongo。
在mongo shell中创建用户:
db.createUser({ "user" : "my_user", "pwd": "my_password", "roles" : ["readWrite"]})
新MONGO_URL:
mongodb://my_user:my_password@<some-servername>.servers.mongodirector.com:27017/myapp_com