Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java mongo不能';t连接到[localhost/127.0.0.1:27017]_Java_Mongodb - Fatal编程技术网

Java mongo不能';t连接到[localhost/127.0.0.1:27017]

Java mongo不能';t连接到[localhost/127.0.0.1:27017],java,mongodb,Java,Mongodb,我得到以下错误: נוב 08, 2013 12:05:46 PM com.mongodb.DBTCPConnector initDirectConnection WARNING: Exception executing isMaster command on localhost/127.0.0.1:27017 java.io.IOException: couldn't connect to [localhost/127.0.0.1:27017] bc:java.net.ConnectExcep

我得到以下错误:

נוב 08, 2013 12:05:46 PM com.mongodb.DBTCPConnector initDirectConnection
WARNING: Exception executing isMaster command on localhost/127.0.0.1:27017
java.io.IOException: couldn't connect to [localhost/127.0.0.1:27017] bc:java.net.ConnectException: Connection refused: connect
    at com.mongodb.DBPort._open(DBPort.java:214)
    at com.mongodb.DBPort.go(DBPort.java:107)
    at com.mongodb.DBPort.go(DBPort.java:88)
    at com.mongodb.DBPort.findOne(DBPort.java:143)
    at com.mongodb.DBPort.runCommand(DBPort.java:148)
    at com.mongodb.DBTCPConnector.initDirectConnection(DBTCPConnector.java:548)
    at com.mongodb.DBTCPConnector.checkMaster(DBTCPConnector.java:527)
    at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:277)
    at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:257)
    at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:310)
    at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:295)
    at com.mongodb.DB.getCollectionNames(DB.java:412)
    at Main.Main.main(Main.java:26)
我的代码很简单(我第一次使用mongo):

MongoClient客户端=新的MongoClient(“localhost”,27017);
DB=Client.getDB(“qw”);
DBCollection coll[]=新的DBCollection[4];
Set colls=db.getCollectionNames();
for(字符串s:colls)
系统输出打印项次;

问题出在哪里?

可能您还没有启动Mongo服务器

打开shell并键入

mongod
在文件系统上,您可以从
$MONGO\u INSTALL\u PATH/bin/mongod
启动它

不要关闭shell,然后再次尝试运行代码

更多信息:


您尚未启动MongoDB服务器

首先启动mongodb服务器,然后运行代码

您还可以创建MongoDB服务,该服务将始终在后台运行,因此从下次开始,您不必启动MongoDB服务器

以下是创建MongoDB服务的步骤:

  • 在mongodb文件夹内创建一个名为“log”的文件夹,与“data”文件夹并行
  • 将“mongo.config”文件平行复制到“mongodb”文件夹中的日志文件夹

    以下是mongo.config文件的内容:

    在这里存储数据 dbpath=您的\u驱动器\mongodb-win32-x86\u 64-2.2.3\data\db

    所有输出都在这里 logpath=您的\u驱动器\mongodb-win32-x86\u 64-2.2.3\log\mongo.log

    日志读写操作 diaglog=3

  • 创建一个文件MongoServer.bat

    以下是MongoServer.bat的内容

    您的\u驱动器\mongodb-win32-x86\u 64-2.2.3\bin\mongod.exe--config“您的\u驱动器\mongodb-win32-x86\u 64-2.2.3\mongo.config”

  • 在命令提示符下,转到mongodb\bin目录,然后编写此命令, mongod--config您的\u驱动器\mongodb-win32-x86\u 64-2.2.3\mongo.config–安装

    这将创建名为“Mongo DB”的服务

  • 要启动服务,请在命令提示符下键入 net启动MongoDB

  • 因此,就创建了您的服务。现在您可以执行任务了


    有关更多信息,请访问。

    尝试重新启动mongo。我遇到了同样的问题,重新启动为我解决了。

    可能不是您的问题,但我看到当mongodb拒绝连接时出现了此异常,因为它达到了打开连接数的限制。检查您的mongodb日志文件,查看以下语句:

    “连接被拒绝,因为打开的连接太多”


    这可能意味着您要让连接保持打开状态,或者您需要提高db服务器中打开文件数量的限制。

    在使用以下代码连接时,似乎也存在同样的问题

    MongoClient mongo=新的MongoClient(“localhost”,27017)

    但当换成

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

    您启动了Mongo服务器吗?默认情况下,Mongo不会启动,您必须使用MongoDB安装的
    bin/
    文件夹中的
    /mongod
    运行服务器另一个类似问题:[Spring Data Mongo似乎忽略了XML配置中的主机][1][1]:
    MongoClient mongo = new MongoClient("127.0.0.1", 27017);