阿里云NoSQL内核组技术专家
问题描述 MongoDB的写请求写入Primary, secondary从Primary自动获取并且应用oplog来保持和主库的同步, MongoDB 允许用户从Primary 或者 secondary 读取数据(由客户端ReadPreference 决定)。
MongoDB 4.0 提供了level == “snapshot” 的readConcern。 该level 的readConcern 本质上和Primary Secondary 无关, 主要解决的问题是: 时间点1: session 1 打开一个cursor 用于读数据时间点2: session 2 修改了 session 1 要读的数据,并且commit 了时间点3: session 1 读到了 session 2 修改的数据。