三種方法中均需要注意,創建client時,會連接認證數據庫,而不是存儲數據的數據庫。
方法一:new MongoClient(new MongoClientURI(url))
注意這種方法中,url中不要跟存儲數據的數據庫名字。
String url = "mongodb://username:password@host:port";
MongoClient mongoClient = new MongoClient(new MongoClientURI(url));
方法二:new MongoClient(serverAddress, Arrays.asList(credential))
此方法已經deprecated。
MongoCredential credential = MongoCredential.createCredential(username, 認證數據庫名稱,通常為"admin", password.toCharArray());
ServerAddress serverAddress = new ServerAddress(host, port);
MongoClient mongoClient = new MongoClient(serverAddress, Arrays.asList(credential));
方法三:new MongoClient(serverAddress, credential, options)
MongoCredential credential = MongoCredential.createCredential(username, 認證數據庫名稱,通常為"admin", password.toCharArray());
MongoClientOptions options = new MongoClientOptions.Builder().build();
ServerAddress serverAddress = new ServerAddress(host, port);
MongoClient mongoClient = new MongoClient(serverAddress, credential, options);
取數據以驗證是否連接成功
import static com.mongodb.client.model.Filters.eq; MongoDatabase db = mongoClient.getDatabase(db_name); MongoCollection<Document> collection = db.getCollection("表名"); Document doc = collection.find(eq("列名", 值)).first(); if (doc != null) System.out.println(doc.toJson()); mongoClient.close();
pom.xml中mongo driver依賴來自於https://mvnrepository.com/,進去搜mongo java就能找到,copy下來粘貼到我們自己pom.xml文件中。
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.12.7</version> </dependency>