2015-08-05 12 views
7

Wie kann ich den folgenden alten Code über die neuen C# MongoDB-Treiber neu zu schreiben, die IMongoCollection Schnittstelle:MongoDB C# offizielle Treiber Massenaktualisierung

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

bulk.Execute(); 

Wie Update Betrieb mit Builder Mechanismus zu schaffen, ist für mich klar, aber wie Bulk-Vorgang zu aktualisieren?

Antwort

7

MongoDB.Driver hat 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, vielen Dank! –

+2

Ich bin froh, diese Antwort Cover Opeces, aber es beantwortet nicht die ursprüngliche Frage. Lösung hier: http://stackoverflow.com/questions/35687470/c-sharp-mongodb-driver-2-0-how-to-upsert-in-a-bulk-operation/35688613#35688613 –

+0

@rnofenko: Hast du Wissen Sie, dass Sie großartig sind? – VSO