sql >> Database >  >> NoSQL >> MongoDB

Inzicht in WriteConcern in MongoDB C#

Voor 2.x c# driver kunt u write concern op de volgende manier gebruiken:

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

dan zullen alle updates van de db die deze verzameling gebruiken de doorgegeven schrijfzorg gebruiken.

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

Er zijn verschillende vooraf gedefinieerde schrijfproblemen, bijv.

voor zeer snelle maar onbetrouwbare updates:

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

of voor WriteConcern wat vergelijkbaar is met de standaard (w=1)

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

of voor erkenning van meerderheidsleden van de replicaset

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

voor details en meer opties zie de documentatie hier: https://mongodb.github.io/mongo-csharp-driver/2.7/apidocs/html/T_MongoDB_Driver_WriteConcern.htm



  1. 2-regelige NodeJS-toepassing crasht op mongoose.connect() tijdens een poging om verbinding te maken met een mongolab MongoDB-database

  2. Een MessagePacked-hash opslaan in Redis

  3. Kan niet alleen de punten binnen een specifiek bereik (cirkel) weergeven met de functie .getBounds() (folder)

  4. Gebruik $strLenCP met Spring Data MongoDB