我在spring中有以下核心mongo选项配置:
我想知道的是关于不同的写号选项,它与写无关,正常,安全等问题有关.
我可以假设write-number到writeconcern的映射如下所示吗?
NONE: -1
NORMAL: 0
SAFE: 1 (default)
FSYNC_SAFE: 2
REPLICAS_SAFE: 3
JOURNAL_SAFE: 4
MAJORITY: 5
以下链接为在spring中设置mongo选项提供了很好的帮助,但对于写入数值不够具体:
How to configure MongoDB Java driver MongoOptions for production use?
最佳答案
写入关注数字是“w”的值,其映射到当w> 1时被认为成功之前写入必须传播到的复制品的数量. 1.
FSYNC_SAFE映射到设置write-fsync(true或false),因为JOURNAL_SAFE也是一个布尔值,我怀疑Spring中有一个类似的布尔设置,但我在他们的任何文档中找不到它.
如果您已经安装了所有内容来根据经验进行测试,只需尝试几种配置并检查结果写入问题的实际设置,例如:
WriteConcern wc = new WriteConcern(); // should get your default write concern
System.out.println(wc.getJ());
System.out.println(wc.getFsync());
System.out.println(wc.getW());
这应该显示Journal设置,Fsync设置(两者都是布尔值),W(作为int).