2016-11-15 8 views
0

Ist es möglich, Mongo Replica-Sets von JAVA-Anwendung zu konfigurieren?Mongo Replicaset-Konfiguration von JAVA

Gibt es JAVA-APIs für rs.initiate(), rs.add() usw.?

Ich möchte Mongo-Replica-Sets von Anwendungen konfigurieren, ohne sich manuell bei der Mongo-Konsole anmelden zu müssen.

Gibt es Möglichkeiten, es zu tun?

Vielen Dank im Voraus.

Antwort

0

Sie können DB.eval() Funktion verwenden.

+1

Diese Antwort erschien in Low Quality Beiträge Überprüfung Warteschlange. Könntest du bitte ein bisschen mehr @MikeShauneu ausarbeiten, damit das Original Poster weiß, warum er 'DB.eval()' benutzen soll? Ich empfehle dringend, [Antwort] zu lesen. [- Aus Review] (http://stackoverflow.com/review/low-quality-posts/14306874) – xenteros

0

Es gibt keinen direkten Weg, Sie können dies nur über die Datenbank admin und runCommand erreichen. Hier

ist das Pseudo-Beispiel für 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 });