MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

C# MongoDb Connect to Replica Set Issue

En ce moment, j'apprends MongoDB et je joue autour des connexions d'ensembles de répliques. J'aime contribuer avec 2 façons que j'ai utilisées pour me connecter à la base de données que j'ai trouvées utiles, si cela n'aide personne, au moins j'aurai un endroit où me référer à l'avenir (je suis sûr que je vais en avoir besoin à un moment donné) d'abord :

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

seconde :

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

Le premier, me permet de me connecter à la base de données via les serveurs spécifiés dans la liste des serveurs. Cela permet au pilote de se connecter automatiquement au nouveau nœud principal du jeu de répliques en cas de panne avec le principal. Avec le second, j'envoie la liste des serveurs du jeu de répliques, le type de connexion. Le nom du jeu de répliques et l'écriture concernent la configuration. Avec ces paramètres, je force le pilote à attendre un accusé de réception d'écriture des 3 serveurs du jeu de répliques (WValue:3) et à attendre au maximum 10 secondes pour la confirmation d'écriture.