最近有新项目上线,实在太忙了,学习的进度有点拖沓,但会坚持。mongodb
今天要学的是《20 | 事务开发:读操做事务之一》章节。主要讲解的是怎么哪里读取数据的问题。学习
值有5个,以下图,默认为primary,即从主结点读数据。spa
以电商订单,举了一个实际的例子,干货。rest
这部分经过给结点打标签,能够控制从哪一组来读。code
• 主节点写入 {x:1}, 观察该条数据在各个节点都可见blog
• 在两个从节点分别执行 db.fsyncLock() 来锁定写入(同步)
• 主节点写入 {x:2}图片
• db.test.find({a: 123}) • db.test.find({a: 123}).readPref(“secondary”)
• 解除从节点锁定 db.fsyncUnlock()事务
• db.test.find({a: 123}).readPref(“secondary”)
使用 Tag 时也会遇到一样的问题,若是只有一个节点拥有一个特定 Tag,则在这个节点失效时将无节点可读。这在有时候是指望的结果,有时候不是。例如:资源
今天内容就这些,明天继续。开发