使用updateMany的upsert的MongoDB c#驱动程序

问题描述 投票:2回答:2

在MongoDB c#driver(2.0+)中我们可以在执行和updateManyAsync时进行upsert吗? This示例有助于UpdateOne,但我正在寻找适用于updateMany的东西。

c# mongodb mongodb-csharp-2.0
2个回答
3
投票

使用updateMany时,Upsert工作正常:

var options = new UpdateOptions { IsUpsert = true };
var result = await collection.UpdateManyAsync(filter, update, options);

0
投票

以下是在C#.Net核心中使用UpdateMany的更完整示例:

BostadsUppgifterMongoDbContext context = new BostadsUppgifterMongoDbContext(_configuration.GetConnectionString("DefaultConnection"), _configuration["ConnectionStrings:DefaultConnectionName"]);
var residenceCollection = context.MongoDatabase.GetCollection<Residence>("Residences");
residenceCollection.UpdateMany(x =>
    x.City == "Stockholm",
    Builders<Residence>.Update.Set(p => p.Municipality, "Stoholms län"),
    new UpdateOptions { IsUpsert = false }
);

如果IsUpsert设置为true,则在未找到匹配项时将插入文档。

© www.soinside.com 2019 - 2024. All rights reserved.