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

Comprendre WriteConcern dans MongoDB C#

Pour le pilote 2.x c#, vous pouvez utiliser la préoccupation d'écriture de la manière suivante :

var collection = db.GetCollection<Record>(collectionName)
    .WithWriteConcern(new WriteConcern(
        w: 1,
        wTimeout: default(TimeSpan?),
        fsync: true,
        journal: false));

alors toutes les mises à jour de la base de données utilisant cette collection utiliseront le problème d'écriture passé.

collection.InsertOne(...);
collection.ReplaceOne(...);
collection.UpdateMany(...);
and so on

Il existe plusieurs problèmes d'écriture prédéfinis, par exemple

pour les mises à jour très rapides mais peu fiables :

var collection = db.GetCollection<Record>(collectionName)
    .WithWriteConcern(WriteConcern.Unacknowledged);

ou pour WriteConcern qui est similaire à la valeur par défaut (w=1)

var collection = db.GetCollection<Record>(collectionName)
    .WithWriteConcern(WriteConcern.W1);

ou pour reconnaître les membres majoritaires du jeu de réplicas

var collection = db.GetCollection<Record>(collectionName)
    .WithWriteConcern(WriteConcern.WMajority);

pour plus de détails et plus d'options, veuillez consulter la documentation ici : https://mongodb.github.io/mongo-csharp-driver/2.7/apidocs/html/T_MongoDB_Driver_WriteConcern.htm