2014-02-25 69 views
67

如何将Robomongo(或任何其他mongodb客户端)连接到由本地Meteor应用程序创建的mongodb实例?如何将mongodb客户端连接到本地Meteor MongoDB

+0

喜@ user3330705:

创建您本地主机一个Robomongo连接和命中测试(出两项检查,认证可能会失败)它实际上是完整的/最好的,那么你可以将它标记为接受的答案,以便阅读这篇文章的人会知道它的工作原理。 –

+0

可能的重复[如何由流星安装MongoDb?](http://stackoverflow.com/questions/14371926/how-is-mongodb-installed-by-meteor) –

+0

我在OS X上,使用robomongo:我只是使用'localhost'和端口'3001'而没有任何验证连接。 –

回答

111

确保Meteor正在本地主机上运行。打开终端窗口并运行meteor命令。如果您没有更改为端口,它将开始在localhost:3000上运行。

它在运行时,打开一个单独的终端窗口并运行meteor mongo命令。这将打开一个MongoDB shell并告诉你它连接的是什么端口。如果是早期版本,通常是3001版本,如0.7.1.1或3002版本。它会说类似127.0.0.1:3001/meteor

转到Robomongo(或您最喜欢的mongodb客户端软件)并创建一个新连接,确保将连接地址更改为本地主机和给定的端口号。如果您的客户端不坚持默认数据库,则无需额外定义/流星。

同样如https://stackoverflow.com/a/22023284/1064151中指出的一些驱动程序可能需要特定的行结束符,定界符或其他字符流。例如,基于C驱动程序的ObjCMongoDB最终需要url为127.0.0.1:3001/,并且该额外的/,或者它不起作用。所以请确保您检查您的驱动程序/客户端的文档。

+0

我正在尝试相同的事情。我使用mongoDB驱动程序写入我的流星mongoDB。在我使用'127.0.0.1:3002'之前就像你上面说的那样。现在我明白港口已经转移到':3001',但那个地址仍然不适合我。数据库名称是否也改变了?更清楚的是,一旦我连接到本地主机'127.0.0.1:3002',我还需要我的数据库名称,即'meteor.collection'。这是否也随着更新而改变? – Nate

+1

想通了。为特定的mongoDB驱动程序添加了另一个答案。 – Nate

+1

@Nate我刚刚更新了答案以反映这些信息。感谢指针。 –

0

我也使用Robomongo和最新更新V0.7.1之前,我所使用的端口3002连接,如@Serkan杜鲁索伊表明它正在为3001端口

0

我使用的是最新的更新的ObjCMongoDB,一个基于C的mongoDB驱动程序。使用新的更新而不是使用先前的127.0.0.1:3002连接到运行流星的mongodb的本地主机,现在我需要使用127.0.0.1:3001/,集合名称仍然是meteor.collection。重要的变化是从:3002:3001/的港口。请记住/,这对连接至关重要。

1

这对我有用,连接之前确保meteor正在运行。 我正在使用Robomongo进行连接。创建新连接并添加 地址为:localhost; 端口为:3001

26
得到当前配置的详细信息

最简单的方法是使用下面的命令

meteor mongo -U 

这会给你的连接字符串

24

从终端运行以下命令

meteor mongo -U 

这将显示本地主机IP地址以及您的应用程序在哪个端口上运行。现在运行Robomongo和配置为以下两个领域,你通过运行前面的命令

enter image description here

+0

连接,但无法看到集合。任何想法? –

+0

同样的问题 - 连接但没有收藏 - 你解决了吗? –

0

@ imal365答案是完美的了。只是为了增加我的洞察力:

我意识到默认的Meteor Mongo端口号是添加了1的应用程序的端口号(从版本0.7.1.1开始)。就我而言,我使用命令meteor --port 1337在端口1337上运行流星,我的Meteor Mongo端口为1338

0

使用SSH隧道通过以下命令:

ssh -L 3001:localhost:3001 [email protected] 

它转发到本地主机从您的本地端口3001连接:在您的服务器3001。现在我们可以直接连接到我们的数据库。如果你认为答案是不是有用,更

enter image description here