WriteConcern在mongoDB中的使用

WriteConcern在mongoDB中的使用,mongodb,mongodb-query,Mongodb,Mongodb Query,我正在mongoDB wiki上阅读WriteConcern,但我不清楚。我有个问题!什么是以及何时必须使用WriteConcern(WriteConcern.Acknowledged)? 以下两者之间的区别是什么: WithWriteConcern(WriteConcern.Acknowledged).InsertOne() 和InsertOne()我们使用哪一个更好? 请简单解释。sayres,写入关注点是MongoDB针对写入操作的规范,用于确定在写入操作发生后所需的确认。MongoDB的

我正在mongoDB wiki上阅读
WriteConcern
,但我不清楚。我有个问题!什么是以及何时必须使用WriteConcern(WriteConcern.Acknowledged)? 以下两者之间的区别是什么:

WithWriteConcern(WriteConcern.Acknowledged).InsertOne()
InsertOne()
我们使用哪一个更好?
请简单解释。

sayres,写入关注点是MongoDB针对写入操作的规范,用于确定在写入操作发生后所需的确认。MongoDB的默认写入关注点是始终确认所有写入,这意味着在每次写入之后,MongoDB必须始终返回一个确认(以文档的形式),这意味着它是成功的。在请求写确认时,如果没有返回任何消息(在故障转移、崩溃的情况下),则写操作不成功。这种行为特别适用于副本集的使用,因为您将有多个mongod实例,并且根据您的需要,您可能不希望所有实例都确认写操作,而只是少数实例,以加快写操作。另外,在指定写关注点时,可以指定日志写入,这样可以保证操作结果以及发生故障转移时所需的任何回滚。更多信息

在您的情况下,这取决于您有多少mongod(如果您有副本集或只有一台服务器)实例。由于“始终确认”是默认设置,如果您必须管理副本集操作并加快速度,或者只是不关心单个实例中的写入确认(这不太好,因为它只是一台服务器),则可能需要更改它