当前位置: 首页 > 编程语言 > C#

了解MongoDB中的WriteConcern C#分享

时间:2023-04-10 11:36:00 C#

C#学习教程:了解MongoDB中的WriteConcernC#我知道有几个级别决定了写入操作成功的保证级别,并且您将此级别设置得越高,性能权衡就越大。但是,我在C#环境中工作,我试图弄清楚如何在那里使用WriteConcern以及哪些级别最适合某些情况。我已经弄清楚如何使用WriteConcernResult对象收集检查结果,我主要对级别本身感兴趣。这些是我的问题:如何为C#中的特定写入设置写入关注级别?这个答案建议使用连接字符串,但这看起来像是一个全局设置,我不想要它,因为我将使用的一些写入比其他写入更“关键”,而且我不想降低性能。我注意到有一个WriteConcern类,但它的使用在文档中没有详细说明(它在MongoDB.Driver命名空间下的文档中)。特别是,我如何将它设置为“Journaled”或“ReplicaAcknowledged”,因为它默认为“Acknowledged”?对于每个级别,哪些类型的问题可以通过WriteConcern检查?例如:系统崩溃、电源故障、网络连接问题等。我对偷偷摸摸的事情特别感兴趣,因为电源故障等非常明显,我们可以估计操作可能失败的时间间隔。并相应地做出反应MongoDBC#驱动程序中的操作有一个接受WriteConcern的重载,您可以通过使用类构造函数或使用预定义的静态属性来获取WriteConcern:varwriteConcern=WriteConcern.W4;writeConcern.Journal=true;writeConcern.WTimeout=TimeSpan.FromMilliseconds(100);新的MongoClient().GetServer().GetDatabase("").GetCollection("").Insert(null,null,writeConcern);比如这个需要在主库上面有3个replicas,所以W4,log标志打开,wtimeout设置为100ms。以上就是C#学习教程:看懂WriteConcernC#inMongoDB分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: