MongoDb c#官方驱动程序批量更新
如何通过使用MongoDb c#官方驱动程序批量更新,c#,mongodb,mongodb-.net-driver,mongodb-csharp-2.0,C#,Mongodb,Mongodb .net Driver,Mongodb Csharp 2.0,如何通过使用IMongoCollection接口的新C#MongoDb驱动程序重写以下旧代码: var bulk = dbCollection.InitializeUnorderedBulkOperation(); foreach (var profile in profiles) { bulk.Find(Query.EQ("_id",profile.ID)).Upsert().Update(Update.Set("isDeleted", true)); } bulk.Execute
IMongoCollection
接口的新C#MongoDb驱动程序重写以下旧代码:
var bulk = dbCollection.InitializeUnorderedBulkOperation();
foreach (var profile in profiles)
{
bulk.Find(Query.EQ("_id",profile.ID)).Upsert().Update(Update.Set("isDeleted", true));
}
bulk.Execute();
如何使用
Builder
机制创建Update
操作对我来说很清楚,但如何执行批量更新操作?MongoDB.Driver具有updatemayasync
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);
var-filter=Builders.filter.In(x=>x.Id,profiles.Select(x=>x.Id));
var update=Builders.update.Set(x=>x.IsDeleted,true);
wait collection.UpdateManyAsync(filter,update);
我很高兴这个答案涵盖了操作的必要性,但它没有回答原来的问题。解决方案如下: