sql >> Databasteknik >  >> NoSQL >> MongoDB

Uppsättning i Mongo DB med officiell C#-drivrutin

Version 2 för MongoDB C#-drivrutinen kräver inställning av IsUpsert flagga i skrivkommandona. Det här exemplet kommer att rubba ett helt dokument.

var newDoc = new BsonDocument { { "_id", 123 }, { "someKey", "someValue" } };
var result = await collection.ReplaceOneAsync(
                filter: new BsonDocument("_id", 123),
                options: new ReplaceOptions { IsUpsert = true },
                replacement: newDoc);

Version 1 av MongoDB C#-drivrutinen implementerar denna logik i Save kommando.

var newDoc = new BsonDocument { { "_id", 123 }, { "someKey", "someValue" } };
collection.Save(newDoc);

Sparametoden är en kombination av Infoga och Uppdatera. Om ID-medlemmen i dokumentet har ett värde, antas det vara ett befintligt dokument och Save anropar Uppdatera på dokumentet (ställer in Upsert-flaggan ifall det faktiskt är ett nytt dokument trots allt). Annars antas det vara ett nytt dokument och Spara samtal Infoga efter att först tilldela ett nygenererat unikt värde till Id-medlemmen.

Referens:http://mongodb.github.io/mongo-csharp-driver/1.11/driver/#save-tdocument-method

Obs:Detta kräver dock korrekt mappning av Id-fältet. Mer information om det här:http://mongodb.github.io/mongo-csharp-driver/1.11/serialization/#identifying-the-id-field-or-property



  1. Hur förstör man jobb som ställs i kö av resque-arbetare?

  2. Läs data från Redis till Flink

  3. Hur man konstruerar och skickar bson-dokument - Go lang?

  4. Kör mongodb-skalskript via C#-drivrutinen