了解MongoDB中的WriteConcern C#
我一直在阅读MongoDB中的Write Concern 。 我知道有几个级别决定了写操作成功的保证级别,并且设置此级别的性能越高,性能权衡越大。 但是,我正在C#环境中工作,我正在试图弄清楚如何在那里使用Write Concern以及哪些级别对某些情况最有效。 我已经想出如何使用WriteConcernResult对象收集检查结果,我主要对关卡本身感兴趣。
这些是我的问题:
如何在C#中为特定写入设置Write Concern级别?
这个答案建议使用连接字符串,但这看起来像一个全局设置,我不想要,因为我将使用的一些写操作比其他更“重要”,我不想杀死性能。 我注意到有一个WriteConcern类,但文档中没有详细介绍它的使用(它在文档中的MongoDB.Driver命名空间下)。
特别是,我如何将其设置为“Journaled”或“Replica Acknowledged”,因为它默认为“已确认”?
对于每个级别,哪些类型的问题可以通过Write Concern检查?
例如:系统崩溃,电源故障,网络连接问题等。我对偷偷摸摸的东西特别感兴趣,因为电源故障等非常明显,我们可以估计操作可能失败的时间间隔。并做出相应的反应
MongoDB C#驱动程序中的操作具有接受WriteConcern
重载,您可以通过使用类构造函数或使用预定义的静态属性来获取WriteConcern
:
var writeConcern = WriteConcern.W4; writeConcern.Journal = true; writeConcern.WTimeout = TimeSpan.FromMilliseconds(100); new MongoClient().GetServer().GetDatabase("").GetCollection("").Insert(null, null, writeConcern);
例如,这需要在主数据库顶部有3个副本,因此W4
,日志标志打开,wtimeout设置为100毫秒。
上述就是C#学习教程:了解MongoDB中的WriteConcern C#分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1027401.html