2015-08-05 4 views
7

Как я могу переписать следующий старый код с помощью нового драйвера C# MongoDB, который с помощью IMongoCollection интерфейса:MongoDb C# официальный драйвер массового обновления

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

bulk.Execute(); 

Как создать Update работу с Builder механизмом является для меня ясно, но как для выполнения операции массового обновления?

ответ

7

MongoDB.Driver имеет 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, спасибо большое! –

+2

Я рад, что этот ответ накрывает op needesities, но он не отвечает на исходный вопрос. Решение здесь: http://stackoverflow.com/questions/35687470/c-sharp-mongodb-driver-2-0-how-to-upsert-in-a-bulk-operation/35688613#35688613 –

+0

@rnofenko: Вы были Знаешь, ты потрясающий? – VSO

 Смежные вопросы

  • Нет связанных вопросов^_^