1

在本地运行“聚会”示例时,如果我首先指定我的 MONGO_URL 以使用已经存在的 mongo 实例meteor mongo,则报告说流星没有运行,即使它正在运行,即使它可以很好地连接到单独的 mongo 实例。

如果您在没有指定单独的 MONGO_URL 的情况下运行流星应用程序,则没有问题meteor mongo按预期工作

现在我也尝试在运行前设置 MONGO_URLmeteor mongo无济于事。我还没有尝试部署应用程序来看看会发生什么。

另一种故障排除尝试是在运行应用程序后,我尝试使用流星 mongo 与 --url localhost:27017它要求输入密码的标志进行连接:。这应该给我一个连接到数据库实例的 URL,并且对密码的请求也不是 mongo,因为

a) 我没有在我的本地实例上启用身份验证

b) 即使本地实例没有运行并且您运行meteor mongo它仍然要求输入密码。

在流星文档中,它在流星蒙戈下注明:

现在,您必须已经使用 meteor run 在本地运行您的应用程序。这将在未来变得更容易。

这是他们的意思吗?

显然,我拥有从流星到本地实例的 shell 访问权限并不重要,因为我总是可以通过键入 mongo 来获得 shell 访问权限,但我关心的是部署,如果我想要 shell 访问权限,这可能成为问题。

4

1 回答 1

4

Meteor mongo is meant to connect to the mongo database meteor runs when it runs in development, i.e that is run with meteor run, without a MONGO_URL or in deployment mode on meteor.com

This means it can't access other mongodbs, for instance if you specify MONGO_URL. meteor mongo will actually look for the running process id of the mongodb running in the .meteor directory of your project.

The reason meteor mongo --url localhost:27017 asks for a password is its attempting to connect to meteor.com hosting (if you deployed your app via meteor deploy), so if you deployed your app to test.meteor.com you could access its mongodb uri via meteor mongo test.meteor.com. If a password is set it will ask for that password.

To access your local mongodb collection you would have to look at the /bin directory of your mongodb instance or use mongo --dbpath xxx where xxx is where your database is installed. (Or as you mentioned to use mongo)

于 2013-05-11T08:08:45.283 回答