sql >> Base de Datos >  >> NoSQL >> MongoDB

Entendiendo WriteConcern en MongoDB C#

Para el controlador 2.x c#, puede usar la preocupación de escritura de la siguiente manera:

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

entonces cualquier actualización de la base de datos que utilice esta colección utilizará la preocupación de escritura pasada.

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

Hay varios problemas de escritura predefinidos, por ejemplo,

para actualizaciones muy rápidas pero poco fiables:

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

o para WriteConcern que es similar al predeterminado (w=1)

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

o para el reconocimiento de los miembros mayoritarios del conjunto de réplicas

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

para obtener más detalles y más opciones, consulte la documentación aquí:https://mongodb.github.io/mongo-csharp-driver/2.7/apidocs/html/T_MongoDB_Driver_WriteConcern.htm