MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Entendendo WriteConcern no MongoDB C#


Para o driver 2.x c#, você pode usar a preocupação de gravação da seguinte maneira:
var collection = db.GetCollection<Record>(collectionName)
    .WithWriteConcern(new WriteConcern(
        w: 1,
        wTimeout: default(TimeSpan?),
        fsync: true,
        journal: false));

então, quaisquer atualizações no banco de dados usando essa coleção usarão a preocupação de gravação passada.
collection.InsertOne(...);
collection.ReplaceOne(...);
collection.UpdateMany(...);
and so on

Existem várias preocupações de gravação predefinidas, por exemplo.

para atualizações muito rápidas, mas não confiáveis:
var collection = db.GetCollection<Record>(collectionName)
    .WithWriteConcern(WriteConcern.Unacknowledged);

ou para WriteConcern que é semelhante ao padrão (w=1)
var collection = db.GetCollection<Record>(collectionName)
    .WithWriteConcern(WriteConcern.W1);

ou para reconhecimento dos membros majoritários do conjunto de réplicas
var collection = db.GetCollection<Record>(collectionName)
    .WithWriteConcern(WriteConcern.WMajority);

para detalhes e mais opções, consulte a documentação aqui: https://mongodb.github.io/mongo-csharp-driver/2.7/apidocs/html/T_MongoDB_Driver_WriteConcern.htm