MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Comprensione di WriteConcern in MongoDB C#

Per il driver 2.x c#, puoi usare il problema di scrittura nel modo seguente:

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

quindi qualsiasi aggiornamento al db che utilizza questa raccolta utilizzerà il problema di scrittura passato.

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

Esistono diversi problemi di scrittura predefiniti, ad es.

per aggiornamenti molto veloci ma inaffidabili:

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

o per WriteConcern che è simile all'impostazione predefinita (w=1)

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

o per il riconoscimento dei membri maggioritari del set di repliche

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

per dettagli e altre opzioni, consultare la documentazione qui: https://mongodb.github.io/mongo-csharp-driver/2.7/apidocs/html/T_MongoDB_Driver_WriteConcern.htm