【问题标题】:Mongo Replicaset configuration from JAVA来自 JAVA 的 Mongo Replicaset 配置
【发布时间】:2016-11-15 09:35:12
【问题描述】:

是否可以从 JAVA 应用程序配置 Mongo 副本集?

是否有用于 rs.initiate()、rs.add() 等的 JAVA API?

我希望从应用程序配置 mongo 副本集,而无需手动登录 mongo 控制台。

有办法吗?

提前致谢。

【问题讨论】:

    标签: java mongodb mongodb-replica-set


    【解决方案1】:

    没有直接的方法,只能通过数据库adminrunCommand 来完成。

    这是rs.add的伪示例:

    val client = new MongoClient(ip, port);
    val db = client.getDatabase("admin");
    val conf = db.runCommand({ replSetGetConfig: 1}).get("config", Document.class);
    val members = conf.get("members", List.class);
    
    members.add({ "_id": 10, "host": "192.168.1.110:27001" });
    
    // we need to update the config version to make config acceptible
    conf.put("version", conf.getInteger("version" + 1));
    conf.put("members", members);
    
    db.runCommand({ replSetReconfig: conf });
    

    【讨论】:

      【解决方案2】:

      您可以使用DB.eval() 函数。

      【讨论】:

      • 此答案出现在低质量帖子审核队列中。您能否详细说明@MikeShauneu,以便原始海报知道他为什么应该使用DB.eval()?我强烈推荐阅读How to Answer- From Review
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-17
      • 1970-01-01
      • 2013-03-13
      • 1970-01-01
      • 2014-12-15
      相关资源
      最近更新 更多