writeConcernMajorityJournalDefault
设置为false
时,MongoDB 不会等待 [w: "majority"
](https://docs.mongodb.com/master/reference/write-concern/#writeconcern."majority")写入在确认写入之前写入磁盘上日志。因此,`majority`写操作可能会在给定复制集中的大多数节点的瞬时丢失(即. 崩溃和重启)的事件中回滚。提示如果大多数数据承载成员不可用,请始终使用带有线性化读取问题的maxTimeMS
。maxTimeMS
确保操作不会无限期地阻塞,而是确保在无法满足读取关注时操作返回错误。
$out
或 $merge
阶段与read关注点[线性化
](https://docs.mongodb.com/master/reference/read-concern-linearizable/#readconcern."linearizable")结合使用。也就是说,如果您为[`db.collection.aggregate()`](https://docs.mongodb.com/master/reference/method/db.collection.aggregate/#db.collection.aggregate)指定了[`"linearizable"`](https://docs.mongodb.com/master/reference/read-concern-linearizable/#readconcern."linearizable")读关注,则不能在管道中包含这两个阶段。{ w: "majority" }
](https://docs.mongodb.com/master/reference/write-concern/#writeconcern."majority") 写关注点来发布写操作,然后使用["majority"
](https://docs.mongodb.com/master/reference/read-concern-majority/#readconcern."majority") 或["linearizable"
](https://docs.mongodb.com/master/reference/read-concern-linearizable/#readconcern."linearizable") 的读关注点来执行读操作,以确保单个线程可以读取自己的写操作。{ w: "majority" }
](https://docs.mongodb.com/manual/reference/write-concern/#writeconcern."majority") 写关注点确认写操作的主成员读取的。这样,线性化的读取可能比“多数”或“局部”读取要慢得多。"majority"
](https://docs.mongodb.com/master/reference/read-concern-majority/#readconcern."majority")不同,[`"linearizable"`](https://docs.mongodb.com/master/reference/read-concern-linearizable/#readconcern."linearizable")的读关注点向辅助成员确认读操作是从能够用 [{ w: "majority" }
](https://docs.mongodb.com/master/reference/write-concern/#writeconcern."majority")写关注点确认写操作的主成员读取的。[[1]](https://docs.mongodb.com/master/reference/read-concern-linearizable/#edge-cases-2-primaries) 这样,线性化的读取可能比 ["majority"
](https://docs.mongodb.com/master/reference/read-concern-majority/#readconcern."majority") 或 ["local"
](https://docs.mongodb.com/master/reference/read-concern-local/#readconcern."local")读取要慢得多。{ w: "majority" }
](https://docs.mongodb.com/manual/reference/write-concern/#writeconcern."majority")写关注点的写操作。能够完成[`{ w: "majority" }`](https://docs.mongodb.com/manual/reference/write-concern/#writeconcern."majority")写操作的节点是当前主节点,而另一个节点是前主节点,它还没有意识到降级,通常是由于网络分区。当发生这种情况时,连接到前主服务器的客户机可能会观察到陈旧的数据,尽管已经请求了读首选项主服务器,并且对前主服务器的新写操作最终将回滚。