使用'meteor mongo'无法连接到本地(正在运行)的mongo

时间:2015-04-24 17:20:24

标签: mongodb meteor

我正在玩流星,安装在Ubuntu 14.10&跟着todos tutorial。 Meteor运行日志:

$ meteor mongo
mongo: Meteor isn't running a local MongoDB server.
This command only works while Meteor is running your application locally. Start your
application first. (This error will also occur if you asked Meteor to use a different MongoDB
server with $MONGO_URL when you ran your application.)

If you're trying to connect to the database of an app you deployed with `meteor deploy`,
specify your site's name with this command.

当我尝试通过另一个终端连接到mongo时,我得到:

mongo

试图解决这个问题,我查看了$ mongo localhost:3001 命令,很快我就知道我可以使用连接:

meteor mongo

太棒了,这很有效,似乎我暂时可以使用它。

但是......为什么是官方方式:meteor mongo我的设置无法正常工作,我可以做些什么来解决它吗?

编辑2015年5月6日

在我的ubuntu上创建另一个帐户,登录并创建一个新应用程序后,我运行它并设法使用env命令(没有sudo)按预期连接到mongo实例。我认为这可能是我的环境变量不同的结果所以我比较了两者(使用~/.meteor命令转储这两个环境。我的主帐户中有一些额外的bash变量因此我一个接一个地取消设置它们直到我到达两个相同的环境(除了主目录值,用户名,gnome会话令牌的自动生成值等)。尽管有这些变化,但问题在于。我的另一个猜测是{{1文件夹对我来说是邪恶的。所以,我已经删除它并重新安装流星。这也没有解决它。无论问题是什么,它都很顽固。

7 个答案:

答案 0 :(得分:4)

  • 您需要与启动Meteor的用户是同一个用户。
  • 您还需要从应用程序目录中进行连接。
  • 您可以使用本机MongoDB客户端连接到数据库吗?
  • 尝试运行sudo meteor mongo - 可能是Meteor / Node进程以root身份运行。

答案 1 :(得分:4)

尝试:

sudo meteor mongo

它在Vagrant盒子上对我有用:)

答案 2 :(得分:2)

看起来这是你的环境变量问题。

export MONGO_URL=''
meteor mongo

答案 3 :(得分:1)

您最初是否创建了meteor应用程序: 流星创造

我在Ubuntu上遇到同样的问题,发现我错过了创建部分,因为我从windows机器复制了代码。

答案 4 :(得分:0)

就我而言(Windows 10),我设置了MONGO_URL ='remote url'。 在这种情况下,当你键入'meteor mongo'时,meteor将尝试连接到本地mongodb服务器,但我们指向远程mogodb。

指向当地的mongodb:

1)在终端中启动app类型'set MONOGO_URL ='命令。
2)现在启动流星应用程序
3)现在打开一个新的终端并试试'meteor mongo'

答案 5 :(得分:0)

这对我有同样的问题。

我打开了两个终端:一个使用 meteor 命令运行,另一个终端我尝试 meteor mongo 并收到问题中所述的相同消息。

  

mongo:Meteor没有运行本地MongoDB服务器。

     

此命令仅在Meteor在本地运行您的应用程序时有效。开始   您的应用程序首先使用'meteor',然后在新的中运行此命令   终奌站。如果您要求Meteor使用其他错误,也会发生此错误   运行应用程序时带有$ MONGO_URL的MongoDB服务器。

     

如果您尝试连接到部署的应用的数据库   'meteor deploy',指定您的站点名称作为此命令的参数。

我尝试了 sudo 命令,该命令也无效。

  

这对我有用。

  1. 转到运行流星服务器终端和ctrl-c(关闭服务器)。
  2. 在流星服务器终端类型: meteor mongo 。 注意:在我的情况下,命令工作,终端进入mongo。
  3. 键入退出以退出mongo。
  4. 键入 meteor 以回滚流星服务器。
  5. 转到meteor mongo终端并输入: meteor mongo 。 注意:对我来说,Meteor在另一个终端运行,meteor mongo命令为我打开meteor mongo而没有错误。
  6. Meteor中的某些内容可能需要重启才能在不关闭流星服务器的情况下重新启动?

答案 6 :(得分:0)

检查是否有正在运行的mongo进程,并手动终止它:

ps -aux | grep mongo
sudo kill [pid]

..然后重启你的流星应用程序。

- >我认为只有在自定义端口上启动流星时才存在这种特定情况(未经测试,但非常明显)