[英]MongoDb database connection using java and authentication with 3.0.0 version
I have MongoConnectionUtils this file I have dependecy below mongo-java-driver我有 MongoConnectionUtils 这个文件我在 mongo-java-driver 下面有依赖
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.0.0</version>
</dependency>
public class MongoConnectionUtils {
private static MongoDatabase db;
public synchronized static MongoDatabase getConnection() {
if (db != null) {
return db;
}
try {
String dbPath = Config.sharedInstance().value("db.path");
String dbUsername = Config.sharedInstance().value("db.username");
String dbPassword = Config.sharedInstance().value("db.password");
int dbPort = Integer.parseInt( Config.sharedInstance().value("db.port"));
String dbName = Config.sharedInstance().value("db.name");
MongoClient mongoClient = new MongoClient(dbPath, dbPort);
db=mongoClient.getDatabase(dbName);
} catch (Throwable e) {
}
return db;
}
}
previously i was using 2.10 jar but now using the latest version i found that db.getDB() is a deprecated method and i found getDatabase() method instead.以前我使用的是 2.10 jar 但现在使用最新版本我发现 db.getDB() 是一个不推荐使用的方法,而我找到了 getDatabase() 方法。 So now i want to authenticate the DB with username and password.所以现在我想用用户名和密码对数据库进行身份验证。 but i didn't find out db.auth() method.但我没有找到 db.auth() 方法。 Please help.请帮忙。
You can create MongoClientURI with mongodb connection string with authentication information and pass this MongoClientURI to MongoClient constructer.您可以使用带有身份验证信息的 mongodb 连接字符串创建 MongoClientURI,并将此 MongoClientURI 传递给 MongoClient 构造函数。
MongoClientURI uri = new MongoClientURI("mongodb://userId:password@hostName:port/dbName");
MongoClient mongoClient = new MongoClient(uri);
MongoDatabase db = mongoClient.getDatabase("yourdatabasename");
MongoCollection<Document> collection = db.getCollection("yourcollection");
Refer MongoDB java driver API for more information:有关更多信息,请参阅 MongoDB java 驱动程序 API:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.