MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Problem C# MongoDb Connect to Replica Set Problem

W tej chwili uczę się MongoDB i bawię się połączeniami zestawów replik. Lubię wnosić swój wkład na dwa sposoby, które wykorzystałem do łączenia się z bazą danych, które okazały się przydatne, jeśli nikomu to nie pomoże, przynajmniej będę miał miejsce, do którego można się odwołać w przyszłości (jestem pewien, że pójdę potrzebować tego w pewnym momencie) po pierwsze:

var connString = "mongodb://localhost:27029,localhost:27027,localhost:27028?connect=replicaSet";
var client = new MongoClient(connString);
var db = client.GetDatabase("test");

po drugie:

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);

Pierwszy pozwala mi na łączenie się z bazą danych przez serwery podane na liście serwerów. Dzięki temu sterownik automatycznie łączy się z nowym głównym węzłem w zestawie replik w przypadku awarii z głównym. Za pomocą drugiego przesyłam listę serwerów w zestawie replik, typ połączenia. Nazwa zestawu replik i konfiguracja dotyczy zapisu. Przy tych ustawieniach zmuszam sterownik do czekania na potwierdzenie zapisu z 3 serwerów w zestawie replik (WValue:3) i czekania maksymalnie 10 sekund na potwierdzenie zapisu.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Błąd obsługi MongoDB podczas wstawiania w Javie

  2. Aplikacja nodejs - połączenie mongodb kończy się niepowodzeniem z błędem ECONNREFUSED

  3. Aplikacja działa w fazie rozwoju, ale nie po wdrożeniu w heroku

  4. Najlepsze praktyki MongoDB dotyczące odwoływania się

  5. 4 sposoby na usunięcie dokumentu w MongoDB