我发现官方MongoDB的C#驱动程序使用SafeMode和返回SafeModeResult的一些方法。这是什么SafeMode,如何使用它?这将是巨大看到一些用例 - 例如,用例与RemoveAllMongoCollection方法

有帮助吗?

解决方案

写入分贝时

安全模式仅是相关的。

有关的速度,如果安全模式是关闭的,一个写操作失败的驱动程序不等待来自于服务。最终的效果是不例外被抛出,你不知道你有一个错误。

安全模式设置为on会迫使驾驶员等待确认成功的,如果发生错误将抛出一个异常。

使用安全模式有关你所关心的数据(用户帐户,订单等)。

不使用安全模式对于不是必需的数据(记录,使用情况统计信息等)

MongoDB的默认行为是有安全模式关闭。

其他提示

文档

  

有各种水平的安全模式,   这个类用于表示   那些水平。安全模式只适用于   不已经返回操作   值(所以它并不适用于查询   或命令)。它适用于   以下MongoCollection方法:   插入,移除,保存并更新。

     

安全模式的要点是,一个后   插入,删除,保存或更新消息   被发送到它后面的服务器   由GetLastError函数指令以便   驾驶员可以验证操作   成功了。此外,当使用   副本集就可以验证   该信息已被   复制到某一最小数目的   辅助服务器。

     

在安全模式类有静态   这让你的属性和方法   轻松访问常用的模式或创建   主题:

* SafeMode.False
* SafeMode.True
* SafeMode.WaitForReplications(int n)
     

有“N”的值包括   伯,所以通常要N> = 2。

我希望这是不够了解安全模式的目的。

SafeMode似乎是过时的。

等效是 WriteConcern.Acknowledged MongoClientSettings(典型地通过到MongoClient构造函数)。承认是在驱动器(2.2.4)的当前版本的默认WriteConcern。

参见的MongoDB安全模式比较WriteConcern

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top