sql >> Databasteknik >  >> NoSQL >> MongoDB

Uppdatering av ett inbäddat dokument i MongoDB med officiell C#-drivrutin

Du kan använda funktionen för positionsarraymodifiering i MongoDB för att uppdatera en hel division i arrayen på en gång enligt följande:

var division = GetDivisionById(1);
division.Name = "New Name";
// change any other properties of division you want
collection.Update(
    Query.EQ("Divisions._id", 1),
    Update.Set("Divisions.$", BsonDocumentWrapper.Create<IDivision>(division))
);

De viktigaste sakerna som händer här är:

  1. Användningen av "$" i Update.Set
  2. Eftersom Update.Set kräver ett BsonValue som sitt andra argument måste vi använda en BsonDocumentWrapper för att hålla divisionsvärdet (parametern IDivision type till Skapa ställer in nominalType vid serialisering till IDivision vilket resulterar i att "_t"-diskriminatorn skrivs) .



  1. Mongo 2.6.1 - Okänt pipeline-stegnamn:'$out'

  2. Ta bort underfält från mongoDb-dokument

  3. Fel:anslut ETIMEDOUT 54.162.26.95:17185

  4. Redis aktiv-aktiv replikering