C# 如何修改写关注点级别?
我有一个包含100000000个文档的集合,其中我每分钟都在执行更新。大概是这样的:C# 如何修改写关注点级别?,c#,mongodb,C#,Mongodb,我有一个包含100000000个文档的集合,其中我每分钟都在执行更新。大概是这样的: var writeOptions = new BulkWriteOptions { IsOrdered = false }; // Applying several operations within the one request. operationList.Add(new UpdateOneModel<JobInfoRecord>(Builders<JobInfoRecord>.
var writeOptions = new BulkWriteOptions { IsOrdered = false };
// Applying several operations within the one request.
operationList.Add(new UpdateOneModel<JobInfoRecord>(Builders<JobInfoRecord>.Filter.Eq("_id", document.JobId),
Builders<JobInfoRecord>.Update.Set("JobInfo", newInfo)));
await jobInfoDocuments.BulkWriteAsync(operationList, writeOptions);
var writeOptions=new BulkWriteOptions{IsOrdered=false};
//在一个请求中应用多个操作。
添加(新的updateModel(Builders.Filter.Eq(“_id”),document.JobId),
Builders.Update.Set(“JobInfo”,newInfo));
等待jobInfoDocuments.BulkWriteAsync(操作列表、写入选项);
如何将写关注点级别从1(默认)更改为0?使用MongoCollection对象上的方法获取新的IMongCollection对象,该对象将使用提供的写关注点进行查询
var jobInfoDocumentsCareless = jobInfoDocuments.WithWriteConcern(WriteConcern.Unacknowledged);
await jobInfoDocumentsCareless.BulkWriteAsync(operationList, writeOptions);
WriteConcern.未确认
问题级别为0?哪一个是默认的WriteConcern.conferenced
?@ivan_petrushenko WriteConcern.unconferenced相当于{w:0}
。已确认是指,根据“使用服务器上配置的默认写入关注点等待确认”。所以这取决于mongod的配置。如果您想确定,还可以使用来实例化您自己的WriteConcern对象,并对w、journal、fsync和timeout进行自定义设置。因此,如果要加快更新过程,我需要使用{w:0}
我说得对吗?@ivan_petrushenko如果你愿意承担完全忽略可能发生的任何错误而带来的风险,那么你会同意的。