![](/img/trans.png)
[英]Connection to MongoDB 2.6.3 using 3.0.0 driver from Java (eclipse)
[英]MongoDb database connection using java and authentication with 3.0.0 version
我有 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;
}
}
以前我使用的是 2.10 jar 但现在使用最新版本我发现 db.getDB() 是一个不推荐使用的方法,而我找到了 getDatabase() 方法。 所以现在我想用用户名和密码对数据库进行身份验证。 但我没有找到 db.auth() 方法。 请帮忙。
您可以使用带有身份验证信息的 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");
有关更多信息,请参阅 MongoDB java 驱动程序 API:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.