0

我编写了一个简单的 Java 服务器。基本思想是,单击按钮后,servlet 会将一些数据加载到 MongoDB 中。

但是,每当我尝试将某些内容实际加载到 MongoDB 中(在我的情况下,保存一个集合)时,我都会收到以下错误:

com.mongodb.MongoException$Network: can't call something : /127.0.0.1:27017/
com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:295)
com.mongodb.DBTCPConnector.call(DBTCPConnector.java:257)
com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:310)
com.mongodb.DB.command(DB.java:274)
com.mongodb.DB.command(DB.java:256)
com.mongodb.DB.command(DB.java:313)
com.mongodb.DB.command(DB.java:211)
com.mongodb.DB.createCollection(DB.java:170)
servlets.ImportData.doPost(ImportData.java:60)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

有谁知道这里可能是什么问题?当我搜索这个问题时,我发现人们在猜测从端口冲突到陈旧连接到错误安装 MongoDB 的所有事情,所以如果能弄清这个问题,那就太好了。

如果它有助于查看源代码,我会非常乐意分享它。

提前致谢!

4

1 回答 1

0

原来我的 mongod 实例在我执行命令时没有运行。

确保在您使用服务器的任何时候都在控制台中运行“mongod”。

我遇到的第二个错误是未能指定 MongoClient 的主机和端口,方式如下:

MongoClient mongo = new MongoClient();

相反,您可以这样做:

MongoClient mongo = new MongoClient("localhost", 27017);

您可以将其粘贴到您的 servlet 上下文中,并根据需要将其传递给其他 servlet,虽然我在这里使用新语句声明了 MongoClient mongo,但我建议将其保留为 ContextListener 的类变量。

于 2013-06-20T20:51:35.467 回答