我有一个Go客户端,该客户端反复将数据插入 MongoDB 1分钟。我不希望在复制到我的主要-次要仲裁者副本集的次要对象之前将其确认给客户端,因此我通过 mongo shell指定了大多数写关注点。

但是,客户端的执行要远远早于将写入复制到辅助服务器的过程(我正在观察文档数)。如果主服务器在复制完成前崩溃,那么从客户端的角度来看,数据将被回滚,这已经被确认。

这种行为与我通过shell设置的大多数写关注并不矛盾吗?我还需要通过mgo驱动程序设置写关注吗?本文建议我需要:

Running MongoDB Queries Concurrently With Go

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

但是我在mgo驱动程序文档中没有看到任何有关设置写关注的信息。我想念什么?

最佳答案

这是您要寻找的(full documentation):

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

关于mongodb - 通过mgo驱动程序设置MongoDB写关注,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31706017/

10-15 03:35