W tej chwili aktualizuję mój kod do MongoDB C# driver 2.0 i mam problemy z aktualizacją kodu, aby zaktualizować dokumenty.MongoDB C# Driver 2.0 - Zaktualizuj dokument
stosując starą wersję udało mi się zrobić coś takiego:
MyType myObject; // passed in
var collection = _database.GetCollection<MyType>("myTypes");
var result = collection.Save(myObject);
jestem stara się znaleźć sposób, aby to zrobić w nowej wersji. znalazłem kilka przykładów aktualizowania pojedynczych dziedzinach jak
var filter = Builders<MyType>.Filter.Eq(s => s.Id, id);
var update = Builders<MyType>.Update.Set(s => s.Description, description);
var result = await collection.UpdateOneAsync(filter, update);
Chciałbym zaktualizować wszystkie pola jak robiłem w starej wersji z metodą Zapisz.
Wszelkie pomysły?
Thanks a lot
Dzięki mnemosyn! Właśnie miałem opublikować własną odpowiedź, ponieważ właśnie znalazłem ReplaceOneAsync kilka minut temu. Dzięki, to jest dokładnie to, czego potrzebowałem! –
Skąd czerpiesz wartość "id"? – redwards510
Myślę, że lepiej jest, jeśli pracujesz z BsonDocument zamiast z MyType. Jeśli MyType ma flagę BsonIgnoreExtraFields, dokument zignoruje pola, które nie są reprezentowane w klasie MyType. W metodzie wstawiania metoda wstawi tylko pola istniejące w klasie i utracisz wszystkie pozostałe niereprezentowane pola. –