2015-08-05 12 views
7

Come posso riscrivere il seguente codice vecchio tramite il nuovo driver C# MongoDb che utilizza IMongoCollection interfaccia:MongoDb C# aggiornamento di massa pilota ufficiale

var bulk = dbCollection.InitializeUnorderedBulkOperation(); 
foreach (var profile in profiles) 
{ 
    bulk.Find(Query.EQ("_id",profile.ID)).Upsert().Update(Update.Set("isDeleted", true)); 
} 

bulk.Execute(); 

Come creare Update il funzionamento con Builder meccanismo è chiaro per me, ma come eseguire l'operazione di aggiornamento di massa?

risposta

7

MongoDB.Driver ha UpdateManyAsync

var filter = Builders<Profile>.Filter.In(x => x.Id, profiles.Select(x => x.Id)); 
var update = Builders<Profile>.Update.Set(x => x.IsDeleted, true); 
await collection.UpdateManyAsync(filter, update); 
+0

Rnofenko, grazie mille! –

+2

Sono contento che questa risposta copra le operazioni, ma non risponde alla domanda originale. Soluzione qui: http://stackoverflow.com/questions/35687470/c-sharp-mongodb-driver-2-0-how-to-upsert-in-a-bulk-operation/35688613#35688613 –

+0

@rnofenko: Hai sai che sei fantastico? – VSO

Problemi correlati