MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Ersetzen Sie das eingebettete Dokument mit dem Mongo C# 2.0-Treiber

Danke Leute. Aus Ihren Antworten bin ich auf die folgende Lösung gekommen:

var mainDocumentId = "5807c22e959ca231f0c48a75";
var arrayItemId = "5807cc08959ca331f09c530e"; //Id for foo

var unit = new Unit(...)
var filter = Builders<UnitType>.Eq(o => o.Id, mainDocumentId); // optional
filter &= Builders<UnitType>.Filter.ElemMatch(o => o.Units, o => o.Id == arrayItemId);
var update = Builders<UnitType>.Update.Set(o => o.Units[-1], unit);

collection.UpdateOne(filter, update);