java - 使用 dns 种子列表和 java 客户端连接到 MongoDB 3.6

标签 java mongodb

我正在尝试使用种子列表和java MongoClient连接到mongo 3.6(我无法使用连接字符串方法)

var serverAddress=new ServerAddress("mongodb+srv://myhost", 27017);
var client = new MongoClient(serverAddress);

我收到的错误是:

No server chosen by com.mongodb.Mongo$4@75c45c4b from cluster description ClusterDescription

我已禁用 ssl 来检查这是否是一个问题。不是我仍然遇到同样的错误

最佳答案

我最终使用 URI 方法来获取 dns 种子列表的主机,如下所示:

var uri = new MongoClientURI("mongodb+srv://myhost:27017");


mongoClient = new MongoClient(getAddress(uri.getHosts()));

List<ServerAddress> getAddress(List<String> hosts) {
    List<ServerAddress> mongoServers = new ArrayList<ServerAddress>();
    for (var host : hosts) {
      mongoServers.add(new ServerAddress(host));
    }
  return mongoServers;  
}

关于java - 使用 dns 种子列表和 java 客户端连接到 MongoDB 3.6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60048076/

相关文章:

java - 如何将字符映射到java中的数字位置?

java - java中double到Float类转换的差异

非 ISO 日期格式的 MongoDb TTL 索引

mongodb - 运行mongo服务器时出错

mongodb - Grails GORM Mongo hasMany关联未保存

java - 在Android中向ArrayList添加项目时出错

java - For 循环内的 Firestore 查询

java - 使用 C# 中的 jni4net 连接 JVM 时 Web 应用程序出错

MongoDb求和查询

Node.js 重用 MongoDB 引用