sql >> Database >  >> NoSQL >> MongoDB

Een ingesloten document bijwerken in MongoDB met officieel C#-stuurprogramma

U kunt de functie voor het wijzigen van positionele arrays van MongoDB gebruiken om als volgt een hele divisie in de array in één keer bij te werken:

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 belangrijkste dingen die hier gebeuren zijn:

  1. Het gebruik van de "$" in Update.Set
  2. Sinds Update.Set een BsonValue als tweede argument vereist, moeten we een BsonDocumentWrapper gebruiken om de delingswaarde vast te houden (de IDivision type parameter to Create stelt het nominalType bij serialisatie in op IDivision, wat resulteert in het schrijven van de "_t" discriminator) .



  1. Spring repository cast automatisch entiteiten met verschillende klassentypen

  2. mongodb aggregatie project objectId met concat

  3. MongoDB Aggregation Framework-stadia en Pipelining

  4. gedekte index maken voor aggregatieraamwerk