参考 > MongoDB CRUD操作 > 读取隔离(关注读取) > 阅读关注 "local"
具有已读关注点的查询"local"
从实例返回数据,但不能保证该数据已被写入大多数副本集成员(即可以回滚)。
阅读关注"local"
是以下内容的默认设置:
无论读关注级别如何,节点上的最新数据都可能无法反映系统中数据的最新版本。
local
可以在有或没有因果关系一致的会话和事务时使用读关注。
考虑以下写操作的时间轴,将0写入三个成员副本集:
注意
为了简化,该示例假定:
时间 | 事件 | 最近写 | 最新w:“多数”写道 |
---|---|---|---|
Ť 0 | 主要适用写0 | 小学:写0
中一:写上一页
中学2:写上一页
|
小学:上一篇
中一:写上一页
中学2:写上一页
|
Ť 1 | 中学1适用于写0 | 小学:写0
中学1:写0
中学2:写上一页
|
小学:上一篇
中一:写上一页
中学2:写上一页
|
第2 | 中学2应用写0 | 小学:写0
中学1:写0
中学2:写0
|
小学:上一篇
中一:写上一页
中学2:写上一页
|
第3 | 主节点知道成功复制到辅助节点1并将确认发送给客户端 | 小学:写0
中学1:写0
中学2:写0
|
小学:写0
中一:写上一页
中学2:写上一页
|
第4 | 主节点知道已成功复制到辅助节点2 | 小学:写0
中学1:写0
中学2:写0
|
小学:写0
中一:写上一页
中学2:写上一页
|
吨5 | 备用节点1收到通知(通过常规复制机制)以更新其最近w的快照:“多数”写入 | 小学:写0
中学1:写0
中学2:写0
|
小学:写0
中学1:写0
中学2:写上一页
|
第6 | 备用节点2收到通知(通过常规复制机制)以更新其最新w:“多数”写入的快照 | 小学:写0
中学1:写0
中学2:写0
|
小学:写0
中学1:写0
中学2:写0
|
然后,下表总结了具有"local"
读取关注的读取操作在时间将看到的数据状态T
。
读取目标 | 时间 T |
数据状态 |
---|---|---|
主 | t 0之后 | 数据反映写0。 |
中学1 | t 1之前 | 数据反映了写上一页 |
中学1 | t 1之后 | 数据反映写0 |
中学2 | t 2之前 | 数据反映了写上一页 |
中学2 | t 2之后 | 数据反映写0 |