如何将mongodb客户端连接到本地Meteor MongoDB

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

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

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

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

另外正如在https://stackoverflow.com/a/22023284/1064151中指出的那样,一些驱动程序可能需要特定的行结尾,定界符或其他字符stream。; 例如,一个基于C的驱动程序的ObjCMongoDB需要url为127.0.0.1:3001/ ,并且在最后加上/ ,否则它将不起作用。 所以请确保您检查您的驱动程序/客户端的文档。

获取当前configuration详细信息的最简单方法是使用以下命令

 meteor mongo -U 

这会给你连接string

从terminal运行下面​​的命令

 meteor mongo -U 

这将显示本地主机IP地址以及您的应用程序在哪个端口上运行。 现在运行Robomongo,并通过运行上一个命令来configuration以下两个字段

在这里输入图像说明

这对我来说,连接之前确保meteor正在运行。 我正在使用Robomongo来连接。 创build新的连接并添加地址为:localhost; 港口为:3001

我也使用Robomongo和最新的更新V0.7.1之前,我使用端口3002连接,作为@Serkan Durusoybuild议的最新更新,它是为3001端口

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

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

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

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

 ssh -L 3001:localhost:3001 user-name@host 

它将从本地端口3001连接到服务器上的localhost:3001。 现在我们可以直接连接到我们的数据库。

在你的本地主机上创build一个Robomongo连接,然后点击Test (两次检查,authentication可能失败):

在这里输入图像说明