0

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

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

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

有没有办法做到这一点?

提前致谢。

4

2 回答 2

2

没有直接的方法,您只能通过数据库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 });
于 2017-06-19T13:57:36.677 回答
0

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

于 2016-11-16T12:07:45.580 回答