使用MongoCredential但我不知道数据库
时间: 2023-09-22 10:06:48 浏览: 88
如果你不知道要连接的数据库名称,你可以使用MongoClient的`listDatabaseNames()`方法来获取MongoDB服务器上的所有数据库名称。以下是一个示例代码:
```java
import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoDatabase;
public class MongoDBConnection {
public static void main(String[] args) {
// 设置MongoDB服务器地址和端口号
ServerAddress serverAddress = new ServerAddress("localhost", 27017);
// 设置MongoDB连接选项
MongoClientOptions options = MongoClientOptions.builder()
.connectTimeout(5000) // 连接超时时间为5秒
.build();
// 设置MongoDB凭据(可选)
MongoCredential credential = MongoCredential.createCredential("username", "admin", "password".toCharArray());
// 创建MongoClient对象
MongoClient mongoClient = new MongoClient(serverAddress, credential, options);
// 获取数据库名称列表
MongoIterable<String> databaseNames = mongoClient.listDatabaseNames();
// 打印数据库名称
for (String dbName : databaseNames) {
System.out.println("Database: " + dbName);
}
// 关闭连接
mongoClient.close();
}
}
```
在上面的代码中,我们使用`listDatabaseNames()`方法获取了MongoDB服务器上的所有数据库名称,并通过遍历打印出来。
请注意,对于身份验证,你需要提供正确的用户名、密码和数据库名称。在示例代码中,我们假设你要连接的数据库是`admin`,你可以根据实际情况修改为正确的数据库名称。
希望这个示例能帮助你获取MongoDB服务器上的数据库名称。如果你有更多问题,请随时提问!
阅读全文