使用Java驱动程序从副本中的所有节点获取Mongo版本

时间:2019-01-07 10:21:16

标签: java mongodb replicaset mongo-java-driver

是否可以在副本中使用相同的MongoClient获得节点版本不同的副本中的所有节点的版本?

为复制创建MongoClient将会这样:

MongoClient mongoClient = new MongoClient(
   Arrays.asList(new ServerAddress("host1", 27017),
     new ServerAddress("host2", 27017),
     new ServerAddress("host3", 27017)));

这将为MongoClient提供一个我可以执行命令以获取版本的命令:

  

db.version

但这不会提供所有不同节点上的版本。

是否可以查看节点的所有版本,或者是否需要与每个人建立连接才能在mongo实例上获取特定版本? 像这样:

foreach (String host : hosts){
  MongoClient client = new MongoClient(host);
  String version = client.getDatabase("dbname")
    .runCommand(new BsonDocument("buildinfo", new BsonString("")))
    .get("version")
    .toString();
  client.close();
}

0 个答案:

没有答案