Attualmente sto aggiornando il mio codice al driver MongoDB C# 2.0 e sto riscontrando problemi nell'aggiornare il codice per aggiornare i documenti.MongoDB C# Driver 2.0 - Aggiornamento documento
utilizzando la vecchia versione ero in grado di fare qualcosa del genere:
MyType myObject; // passed in
var collection = _database.GetCollection<MyType>("myTypes");
var result = collection.Save(myObject);
Sto lottando per trovare un modo per fare questo nella nuova versione. ho trovato alcuni esempi di aggiornamento singoli campi come
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);
vorrei aggiornare tutti i campi come stavo facendo nella vecchia versione con il metodo Save.
Qualche idea?
Grazie mille
Grazie mnemosyn! Stavo per pubblicare la mia risposta perché ho trovato ReplaceOneAsync pochi minuti fa. Grazie comunque è esattamente quello di cui avevo bisogno! –
Da dove ottieni il valore di "id"? – redwards510
Penso che sia meglio lavorare con BsonDocument invece che con MyType. Se MyType ha il flag BsonIgnoreExtraFields, il documento ignorerà i campi che non sono rappresentati nella classe MyType. Nel metodo insert, il metodo inserirà solo i campi che esistono in classe e si perderanno tutti gli altri campi non rappresentati. –