我刚刚使用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的所有内容。
答案 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;