如何在MongoDb中简单地执行更新/替换多个文档操作
这可能是您可以执行的最常见和最基本的数据库操作之一。然而,如何在MongoDb中执行此操作是难以捉摸的 C#驱动程序中有一个如何在MongoDb中简单地执行更新/替换多个文档操作,mongodb,mongodb-query,mongodb-.net-driver,Mongodb,Mongodb Query,Mongodb .net Driver,这可能是您可以执行的最常见和最基本的数据库操作之一。然而,如何在MongoDb中执行此操作是难以捉摸的 C#驱动程序中有一个updatemayasync方法。但我能找到的只是这样的例子 以下操作将更新违规行为大于4的所有文档,并设置标记以供审阅: try { db.restaurant.updateMany( { violations: { $gt: 4 } }, { $set: { "Review" : true } } ); } catch (e) {
updatemayasync
方法。但我能找到的只是这样的例子
以下操作将更新违规行为大于4的所有文档,并设置标记以供审阅:
try {
db.restaurant.updateMany(
{ violations: { $gt: 4 } },
{ $set: { "Review" : true } }
);
} catch (e) {
print(e);
}
坦率地说,我不知道你们是如何构建你们的应用程序的,但我们的组织永远不会嵌入域逻辑,比如在我们的数据库查询逻辑中有多少违规行为构成了审查。就像我能找到的所有关于这个操作的例子一样
我们的选择充其量只是为此使用某种批量api,对于这样一个简单的操作来说,这似乎是不必要的。让批量api执行一千次单独的替换对我来说似乎是无效的,但我可能错了
在其他存储技术和更成熟的API中,执行此操作所需的所有代码是(示例实体框架)
这是作为Mongo项目的功能请求跟踪的吗?批量API可以处理它,请参见下面的代码:
var updates = new List<WriteModel<CosmosDoc>>();
foreach (var doc in docs)
{
updates.Add(new ReplaceOneModel<CosmosDoc>(doc.Id, doc));
}
await MongoDb.DocsCollection.BulkWriteAsync(updates, new BulkWriteOptions() { IsOrdered = false });
var updates=newlist();
foreach(单据中的var单据)
{
添加(新的ReplaceOneModel(doc.Id,doc));
}
等待MongoDb.docscolection.BulkWriteAsync(更新,新的BulkWriteOptions(){IsOrdered=false});
var updates = new List<WriteModel<CosmosDoc>>();
foreach (var doc in docs)
{
updates.Add(new ReplaceOneModel<CosmosDoc>(doc.Id, doc));
}
await MongoDb.DocsCollection.BulkWriteAsync(updates, new BulkWriteOptions() { IsOrdered = false });