V tuto chvíli se učím MongoDB a pohrávám si s připojením replik. Rád přispěji 2 způsoby, které jsem použil pro připojení k databázi, které mi přišly užitečné, pokud to někomu nepomůže, alespoň budu mít v budoucnu kam odkazovat (určitě půjdu potřebovat to v určitém okamžiku) nejprve:
var connString = "mongodb://localhost:27029,localhost:27027,localhost:27028?connect=replicaSet";
var client = new MongoClient(connString);
var db = client.GetDatabase("test");
za druhé:
var settings = new MongoClientSettings
{
Servers = new[]
{
new MongoServerAddress("localhost", 27027),
new MongoServerAddress("localhost", 27028),
new MongoServerAddress("localhost", 27029)
},
ConnectionMode = ConnectionMode.Automatic,
ReplicaSetName = "m101",
WriteConcern = new WriteConcern(WriteConcern.WValue.Parse("3"),wTimeout:TimeSpan.Parse("10"))
};
var client = new MongoClient(settings);
První mi umožňuje připojit se k databázi přes servery uvedené v seznamu serverů. To umožňuje ovladači automaticky se připojit k novému uzlu hlavního uzlu v sadě replik v případě selhání s principálem. S druhým pošlu seznam serverů v sadě replik, typ připojení. Název sady replik a konfigurace týkající se zápisu. S tímto nastavením nutím ovladač čekat na potvrzení zápisu ze 3 serverů v sadě replik (WValue:3) a čekat maximálně 10 sekund na potvrzení zápisu.