MongoDb c#官方驱动批量更新
本文关键字:更新 官方 MongoDb | 更新日期: 2023-09-27 18:06:26
如何通过使用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。驱动程序有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);
新版本MongoDB。驱动程序可以设置Flag
var query = Query<Profile>.In(p => p.ID, profiles.Select(x => x.Id));
var update = Update<Profile>.Set(p => p.IsDeleted, true);
Collection.Update(query, update, UpdateFlags.Multi);