什么写关注使用mongoid gem(v3.1.4)

时间:2015-03-07 01:12:22

标签: ruby mongodb mongoid

上下文:
使用Mongoid gem(v3.1.4),您可以通过使用mongoid配置文件中的 safe 属性执行写入操作时增加写入的置信度数据。

但是,Mongoid文档没有指定使用哪个MongoDB write concern,只有says这对初学者来说是一个很好的做法。

问题:
当“safe”属性设置为true并设置为false时,我需要知道MongoDB“写关注”使用Mongoid gem(v3.1.4)。

2 个答案:

答案 0 :(得分:2)

Mongoid 3使用Moped作为MongoDB驱动程序。看一下Moped源代码:

https://github.com/mongoid/moped/blob/1.5.0-stable/lib/moped/session.rb

  • safe:true 相当于1
  • 的写入问题
  • safe:false 相当于写入关注度为0(这是默认值)

您还可以使用以下命令指定大于1的数字:

safe: {w: 2}

Mongoid 5不再使用摩托车:

https://www.mongodb.com/blog/post/announcing-ruby-driver-20-rewrite

答案 1 :(得分:0)

您必须下拉到驱动程序级别才能更改默认写入问题。定义的默认写入关注点是1.如果要将其设置为0,则可以使用"模型实例集合的方法。

collection_w_0 = Band.collection.with(write: { w: 0 })
collection_w_0[:artists].find(...)