21

这是我第一次尝试使用 MongoDB。我让 Mongo 运行:

ps -ef | grep [m]ongo
mongodb  11023  1  0 Jun24 ? 00:00:03 /usr/lib/mongodb/mongod --config /etc/mongodb.conf

错误是由于做

Datastore.save( stuff );  // (pseudo code)

错误:

Jun 27, 2011 3:20:29 PM com.mongodb.DBTCPConnector fetchMaxBsonObjectSize
WARNING: Exception determining maxBSON size using0
java.io.IOException: couldn't connect to [russ-elite-book/127.0.1.1:27017] bc:java.net.ConnectException: Connection refused
    at com.mongodb.DBPort._open(DBPort.java:206)
    at com.mongodb.DBPort.go(DBPort.java:94)
    at com.mongodb.DBPort.go(DBPort.java:75)
    at com.mongodb.DBPort.findOne(DBPort.java:129)
    at com.mongodb.DBPort.runCommand(DBPort.java:138)
    ...

请注意,我使用127.0.0.1:27017进行连接,它适用于 Mongo shell。另外,我在浏览器中使用http://localhost:28017.

非常感谢任何和所有的想法!

4

9 回答 9

13

我遇到了同样的问题,因为我使用 brew 升级了我的 mongo。要解决这个问题。查找 conf 文件(可能不在您启动 mongodb 的 bin 目录中)

/usr/local/Cellar/mongodb-2.2.whatever/mongod.conf,并注释掉“bind_ip”属性。

于 2012-10-16T16:47:01.790 回答
10

(我认为回答自己的问题有点不好,但实际上,答案结果不是那些建议的。不过,我非常感谢他们所有人。回答问题时,需要能够假设它基于正确安装和工作的软件。我没有那个。)

我使用 Ubuntu 软件中心安装了 MongoDB。如本问题其他地方所述,它可以从 shell 和浏览器中工作。但是,它不适用于 Java(也不适用于 Django)。

问题,尽管它在 Java 堆栈跟踪中说,只是“连接被拒绝”。

解决方案是从适当的 Mongo 源安装它,而不是信任 Ubuntu 存储库。

(是的,从那里获得的其他产品也经常发生这种情况,例如 Eclipse,但您知道这是一项非常好的服务,您想信任它。)

如果您想了解我是如何安装然后工作的,请查看http://www.javahotchocolate.com/tutorials/mongodb.html

于 2011-06-28T19:16:22.263 回答
7

Java 驱动程序很可能无法连接到指定的地址。确保您可以127.0.1.1:27017使用 shell 连接到该地址并运行“ db.isMaster()”。也许这是127.0.1.1vs的问题127.0.0.1

于 2011-06-28T04:45:00.100 回答
7

我有同样的问题,但我的解决方案不同。我使用“localhost”作为主机名并将其更改为“127.0.0.1”修复它。

于 2012-04-04T14:24:13.550 回答
4

事实证明这是Java MongDB 驱动程序的问题

有两种解决方案:

  1. 使用2.8或更高版本的 Java 驱动程序。
  2. 编辑配置文件,如果它包含行bind_ip = 127.0.0.1bind_ip = localhost,将其注释掉。

吃不起眼的馅饼...

正如我在对Russ Bateman 自己的回答的评论中所展示的那样,起初这似乎是 Ubuntu 软件包的问题。真正的原因是它附带的配置文件确实为bind_ip...定义了一个值

于 2012-07-03T21:18:55.383 回答
4

我遇到了同样的问题,因为我使用 apt-get 安装了我的 mongo。以下是解决方法:

  1. 找到你的 mongod.conf 文件。在 Ubuntu 14.04 中,它是 /etc/mongod.conf
  2. 打开 mongod.conf 文件并命令行 bindIp = 127.0.0.1
  3. 重启 mongod
于 2015-11-04T21:24:10.850 回答
2

看来这是一个安全问题或无效的 url。如果您使用默认配置,您应该能够访问http://yourmachine:28017。看看您是否可以从此网址导航到管理页面。如果您能够导航到管理 url,只需在您的应用程序中将端口号替换为 27017。它应该工作。

于 2011-06-27T21:47:04.700 回答
2

没有看到你的 .conf 文件内容很难说。我推荐的一件事是运行 mongo shell 并查看是否可以连接、查询和写入。这将有助于隔离服务器与 java 客户端问题。此外,它可能会为您提供不同形式的错误,这可能是一个提示。

您是否在 .conf 文件中设置 --port ?

于 2011-06-28T04:33:31.313 回答
1

对我来说,这是一个完全不同的解决方案。我正在使用 Spring MVC 框架,我所要做的就是确认配置 XML 文件在 /target 文件夹以及非目标文件夹中说的是同样的事情。一旦调整好,一切正常。问题是从 STS 运行时一切正常,但在部署时,我遇到了上述错误。

于 2017-11-14T14:52:41.917 回答