MongoDB相关特性及原理 ========================================================================================================================== 一、MongoDB的原子性和事务(Atomicity and Transactions) 1、Atomicity 在 MongoDB 中,一个写入操作在单个文档的级别是具有原子性的,即便操作改变的是单个文档中多个嵌套的文档。 2、多文档事务 当单个写操作db.collection.updateMany()修改多个文档时,每个文档的修改都是原子性的,但对于整个操作来说 不具有原子性。 在大多数情况下,多文档事务比单个文档写入产生更高的性能成本,并且多文档事务的可用性不应该取代有效的模 式设计。对于许多场景,非规范化数据模型(嵌入式文档和数组)将继续为您的数据和用例提供最佳选择。也就是 说,对于许多场景,适当地建模数据将最大限度地减少对多文档事务的需求。 二、Read Concern 给 db.COLLECTION_NAME.find()方法指定一个安全应答机制。db.COLLECTION_NAME.find().readConcern() level 可选值: local # 默认读操作安全级别 available # majority # 适用于使用WiredTiger存储引擎的副本集 linearizable # ==========================================================================================================================