无法在Eclipse上从Java连接到mongod实例

时间:2016-09-17 01:38:21

标签: java eclipse mongodb maven

我刚刚使用Mongo Java驱动程序和所有内容设置了一个Maven项目,但是当我运行

public static void main(String[] args) {
    MongoClient client = new MongoClient("localhost");
    MongoDatabase db = client.getDatabase("test");
}

尝试从命令行连接到mongod实例,它给了我

INFO: Cluster created with settings {hosts=[localhost:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
在控制台中

并且没有连接。我几乎关注了this tutorial的所有内容。

3 个答案:

答案 0 :(得分:1)

问题

这种错误通常是由于mongo java driver jar的版本不正确而导致的,或者可能 您还没有提及连接mongo服务器的端口号

解决方案

试试这个:

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

而不是:

MongoClient client = new MongoClient("localhost");

并向pom.xml添加依赖项,因为您没有提及要连接的端口号。

如果您使用的旧版本可能有效:

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

,这里是它的full example,如果你知道使用MongoDB(NoSQL)的CRUD操作的语法,请直接看第10步。

如果您有任何疑问,请在下面发表评论。

感谢。

答案 1 :(得分:0)

@Oleg Skylar是对的,我的程序实际上没有任何问题,只是因为我使用过时的方法来测试它是否正常工作。一旦我按https://docs.mongodb.com/getting-started/java/query/查询测试数据,就可以了。

答案 2 :(得分:0)

这就是我的联系方式

public static Document GetDocumentFromDataBase(String dataBase,String DBcollection,String field, String value) {
MongoClient mongoClient = new MongoClient(  " HEREYOURIP ",27017 );
MongoDatabase database =  mongoClient.getDatabase(dataBase);
MongoCollection<Document> collection = database.getCollection(DBcollection);
Document myDoc = collection.find(eq(field, value)).first();
    mongoClient.close();
    return myDoc;}

eq-它导入 导入静态com.mongodb.client.model.Filters.eq;