通过mgo驱动程序设置MongoDB写入问题

时间:2015-07-29 16:21:40

标签: mongodb go mgo

我有一个Go客户端,重复将数据插入 MongoDB 1分钟。在将它们复制到我的主要 - 次要 - 仲裁副本集的次要副本之前,我不希望向客户端确认写入,因此我通过 mongo <指定多数写入关注点/ strong> shell。

然而,客户端的执行在写入被复制到辅助节点之前完成(我正在观察文档计数以确定)。如果主要在复制完成之前崩溃,那么数据将被回滚 - 从客户端的角度来看 - 已经被确认。

这种行为是否与我通过shell设置的大多数写入问题相矛盾?我是否还需要通过mgo驱动程序设置写入问题?本文建议我需要:

Running MongoDB Queries Concurrently With Go

  

我们使用mgo.DialWithInfo方法创建mgo.Session对象。每个会话都指定一个强或单调模式,以及其他设置,如写入关注和读取首选项。

但我在mgo驱动程序文档中没有看到任何关于设置写入问题的内容。我错过了什么?

1 个答案:

答案 0 :(得分:1)

这就是你要找的东西(full documentation):

session.SetSafe(&mgo.Safe{WMode: "majority"})