MongoDB-CN-Manual
  • MongoDB中文手册|官方文档中文版
  • MongoDB用户手册说明
  • MongoDB简介
    • 入门
    • 数据库和集合
      • 视图
      • 按需物化视图
      • 封顶集合
      • 时间序列集合
    • 文档
    • BSON类型
      • Comparison and Sort Order
      • MongoDB Extended JSON (v2)
      • MongoDB Extended JSON (v1)
  • 安装 MongoDB
    • 安装MongoDB社区版
      • 在Linux上安装MongoDB社区版
      • 在macOS上安装MongoDB社区版
      • 在Windows上安装MongoDB社区版
    • 安装MongoDB企业版
      • 在Linux上安装MongoDB企业版
      • 在Mac OS安装MongoDB企业版
      • 在Windows安装MongoDB企业版
      • 使用Docker安装MongoDB企业版
    • 将社区版MongoDB升级到企业版MongoDB
    • 验证MongoDB软件包的完整性
  • The mongo Shell
    • 配置mongo Shell
    • 使用 mongo Shell帮助
    • 为mongo Shell编写脚本
    • mongo Shell中的数据类型
    • mongo Shell 快速参考
  • MongoDB CRUD操作
    • 插入文档
      • 插入方法
    • 查询文档
      • 在mongo Shell中迭代游标
      • 从查询返回的项目字段
      • 查询嵌入式文档数组
      • 查询数组
      • 查询空字段或缺少字段
      • 查询嵌入/嵌套文档
    • 更新文档
      • 更新方法
      • 聚合管道更新
    • 删除文档
      • 删除方法
    • 地理空间查询
      • 用地理空间查询查找餐馆
      • GeoJSON对象
    • 批量写入操作
    • 可重试写入
    • 可重试读取
    • SQL到MongoDB的映射图表
    • 文本搜索
      • 文本索引
      • 文本索引操作
      • 集合管道中的文本索引
      • 文本索引语言
    • Read Concern读关注
      • 读关注 "local"
      • 读关注 "available"
      • 读关注 "majority"
      • 读关注 "linearizable"
      • 读关注 "snapshot"
    • Write Concern写关注
    • MongoDB CRUD概念
      • 原子性和事务
      • 读隔离性,一致性和近因性
        • 因果一致性和读写关注
      • 分布式查询
      • 通过findAndModify进行线性化读取
      • 查询计划
      • 查询优化
        • 评估当前操作性能
        • 优化查询性能
        • 写操作性能
        • 说明结果
      • 分析查询表现
      • Tailable 游标
  • MongoDB聚合
    • 聚合管道
      • 聚合管道优化
      • 聚合管道限制
      • 聚合管道和分片集合
      • 使用 Zip Code 数据集进行聚合
      • 使用用户首选项数据进行聚合
    • Map-Reduce
      • Map-Reduce 和分片集合
      • Map-Reduce 并发
      • Map-Reduce 示例
      • 执行增量 Map-Reduce
      • 对 Map Function 进行故障排除
      • 排除 Reduce Function 问题
      • Map-Reduce转换到聚合管道
    • 聚合参考
      • 聚合管道快速参考
      • 聚合命令
      • 聚合命令对比
      • 聚合表达式中的变量
      • SQL 到聚合映射图表
  • MongoDB数据模型
    • 数据建模介绍
    • 模式验证
    • 数据模型设计
      • 一对一嵌套关系模型
  • MongoDB事务
  • MongoDB事务
    • 驱动程序 API
    • 生产注意事项
    • 生产注意事项 (分片集群)
    • 事务操作
  • MongoDB索引
    • 单字段索引
    • 复合索引
    • 多键索引
      • 多键索引范围
    • 文本索引
      • 为文本索引指定语言
      • 指定文本索引的名称
      • 用权重控制搜索结果
      • 限制扫描条目的数量
    • 通配符索引
      • 通配符索引限制
    • 2dsphere 索引
      • 查询一个2dsphere索引
    • 2d 索引
      • 创建一个2d索引
      • 查询一个2d索引
      • 2d索引内部
      • 使用球面几何计算距离
    • geoHaystack 索引
      • 创建Haystack索引
      • 查询Haystack索引
    • 哈希索引
    • 索引特性
      • TTL 索引
        • 通过设置TTL使集合中的数据过期
      • 唯一索引
      • 部分索引
      • 不分大小写索引
      • Sparse 索引
    • 在填充的集合上建立索引
      • 在副本集上建立滚动索引
      • 在分片群集上建立滚动索引
    • 索引交集
    • 管理索引
    • 衡量索引使用
    • 索引策略
      • 创建索引来支持查询
      • 使用索引对查询结果进行排序
      • 确保索引适合RAM
      • 创建以确保选择性的查询
    • 索引参考
  • MongoDB安全
    • 安全检查列表
    • 启用访问控制
    • 身份验证
      • 用户
        • 添加用户
        • 权限认证机制
          • SCRAM
            • 用x.509证书来认证客户端
    • 审计
      • 配置审计过滤器
      • 配置审计
      • 系统事件审计消息
    • 网络和配置强化
    • 安全参考
      • system.roles集合
      • system.users集合
      • 资源文档
      • 权限操作
    • 附录
      • 附录-A-用于测试的 OpenSSl CA 证书
      • 附录-B-用于测试的OpenSSL服务器证书
      • 附录-C-用于测试的OpenSSL客户端证书
  • Change Streams变更流
    • 变更流生产建议
    • 变更事件
  • MongoDB复制
    • 副本集成员
    • 副本集日志
    • 副本集数据同步
    • 副本集部署架构
    • 副本集成员配置教程
    • 副本集维护教程
    • MongoDB复制参考
  • MongoDB分片
    • 分片集群组件
    • 分片键
    • 哈希分片
    • 范围分片
    • 区
      • 管理分片区
      • 按位置细分数据
      • 用于更改SLA或SLO的分层硬件
      • 按应用或客户细分数据
      • 仅插入工作负载的分布式本地写入
      • 管理分片区
    • 使用块进行数据分区
      • 在分片集群中拆分数据块
    • 分片管理
      • 查看集群设置
    • 重启一个分片集群
    • [把一个分片集群迁移到不同的硬件](fen-pian/migrate-a -sharded-cluster-to-different-hardware.md)
    • 分片参考
  • MongoDB管理
    • 产品说明
    • 操作检查列表
    • 开发检查列表
    • 配置和维护
    • 性能
    • 数据中心意识
      • MongoDB部署中的工作负载隔离
      • 区
        • 管理分片区
        • 按位置细分数据
        • 用于更改SLA或SLO的分层硬件
        • 按应用或客户细分数据
        • 仅插入工作负载的分布式本地写入
        • 管理分片区
    • MongoDB备份方法
    • MongoDB监控
  • MongoDB存储
    • 存储引擎
      • WiredTiger 存储引擎
      • 内存存储引擎
    • 日志记录
      • 管理日志记录
        • GridFS
        • FAQ:MongoDB 存储
  • MongoDB参考
    • 运算符
      • 查询与映射运算符
        • 比较查询运算符
          • $eq
          • $gt
          • $gte
          • $in
          • $lt
          • $lte
          • $ne
          • $nin
        • 逻辑查询运算符
          • $and
          • $not
          • $nor
          • $or
        • 元素查询运算符
        • 评估查询运算符
        • 地理空间查询运算符
        • 数组查询运算符
        • 按位查询运算符
        • $comment
        • 映射运算符
      • 更新运算符
        • 字段更新运算符
        • 数组更新运算符
        • 按位更新运算符
      • 聚合管道阶段
      • 聚合管道操作符
        • $abs (aggregation)
        • $acos (aggregation)
        • $acosh (aggregation)
        • $add (aggregation)
        • $addToSet (aggregation)
        • $allElementsTrue (aggregation)
        • $and (aggregation)
        • $anyElementTrue (aggregation)
        • $arrayElemAt (aggregation)
        • $arrayToObject (aggregation)
        • $asin (aggregation)
        • $asinh (aggregation)
        • $atan (aggregation)
        • $atan2 (aggregation)
        • $atanh (aggregation)
        • $avg (aggregation)
        • $ceil (aggregation)
        • $cmp (aggregation)
        • $concat (aggregation)
        • $concatArrays (aggregation)
        • $cond (aggregation)
        • $convert (aggregation)
        • $cos (aggregation)
        • $dateFromParts (aggregation)
        • $dateToParts (aggregation)
        • $dateFromString (aggregation)
        • $literal (aggregation)
      • 查询修饰符
    • 数据库命令
      • 聚合命令
      • 地理空间命令
      • 查询和写操作命令
      • 查询计划缓存命令
      • 认证命令
      • 用户管理命令
      • 角色管理命令
      • 复制命令
      • 分片命令
      • 会话命令
      • 管理命令
      • 诊断命令
      • 免费监控命令
      • 系统事件审计命令
    • mongo Shell 方法
      • 集合方法
        • db.collection.aggregate()
        • db.collection.bulkWrite()
        • db.collection.copyTo()
        • db.collection.count()
        • db.collection.countDocuments()
        • db.collection.estimatedDocumentCount()
        • db.collection.createIndex()
        • db.collection.createIndexes()
        • db.collection.dataSize()
        • db.collection.deleteOne()
        • db.collection.deleteMany()
        • db.collection.distinct()
        • db.collection.drop()
        • db.collection.dropIndex()
        • db.collection.dropIndexes()
        • db.collection.ensureIndex()
        • db.collection.explain()
        • db.collection.find()
        • db.collection.findAndModify()
        • db.collection.findOne()
        • db.collection.findOneAndDelete()
        • db.collection.findOneAndReplace()
        • db.collection.findOneAndUpdate()
        • db.collection.getIndexes()
        • db.collection.getShardDistribution()
        • db.collection.getShardVersion()
        • db.collection.insert()
        • db.collection.insertOne()
        • db.collection.insertMany()
        • db.collection.isCapped()
        • db.collection.latencyStats()
        • db.collection.mapReduce()
        • db.collection.reIndex()
        • db.collection.remove()
        • db.collection.renameCollection()
        • db.collection.replaceOne()
        • db.collection.save()
        • db.collection.stats()
        • db.collection.storageSize()
        • db.collection.totalIndexSize()
        • db.collection.totalSize()
        • db.collection.update()
        • db.collection.updateOne()
        • db.collection.updateMany()
        • db.collection.watch()
        • db.collection.validate()
    • MongoDB中的限制与阈值
    • MongoDB系统集合
    • 词汇表
    • 默认的MongoDB端口
    • 默认的MongoDB读/写关注
    • 服务器会话
  • MongoDB FAQ
    • FAQ: MongoDB基础知识
    • FAQ: MongoDB索引
    • FAQ: MongoDB并发
    • FAQ: MongoDB分片
    • FAQ: MongoDB复制和副本集
    • FAQ: MongoDB存储
    • FAQ: MongoDB诊断
  • MongoDB 版本管理
  • 联系我们
    • Tapdata Cloud
    • MongoDB中文社区
    • 社区合作伙伴—锦木信息
由 GitBook 提供支持
在本页
  • 事务API
  • 事务和原子性
  • 事务和操作
  • count 操作
  • distinct 操作
  • 信息类操作
  • 限制的操作
  • 事务和会话
  • 读关注/写关注/读偏好
  • 事务和读偏好
  • 事务和读关注
  • 事务和写关注
  • 一般信息
  • 注意事项
  • 仲裁者
  • 禁用读关注Majority
  • 分片配置限制
  • 诊断
  • 功能兼容版本 (FCV)
  • 存储引擎
  • 其他事务话题
  • MongoDB中文社区

MongoDB事务

上一页MongoDB事务下一页驱动程序 API

最后更新于3年前

在本页

在MongoDB中,对单个文档的操作是原子的。因为您可以使用嵌入式文档和数组来捕获单个文档结构中的数据之间的关系,而不是在多个文档和集合之间进行规范化,所以这种单文档原子性消除了许多实际用例中对多文档事务的需求。

对于需要原子性地读写多个文档(在单个或多个集合中)的情况,MongoDB支持多文档事务。使用分布式事务,可以跨多个操作,集合,数据库,文档和分片使用事务。

事务API

以下示例重点介绍了事务API的关键组成:

译者注,可看不同类型的代码

  • PYTHON

  • JAVA (SYNC)

  • NODE.JS

  • PHP

  • MOTOR

  • C

  • C++11

  • C#

该示例使用新的回调API来处理事务,该API启动事务,执行指定的操作并提交(可能因为错误而中止)。新的回调API还针对 TransientTransactionError 或UnknownTransactionCommitResult 提交错误合并了重试逻辑。

重点

  • 对于MongoDB 4.2(副本集和分片群集)上的事务,客户端必须使用将MongoDB驱动程序更新为MongoDB 4.2。

  • 使用驱动程序时,事务中的每个操作必须与会话相关联(即,将每个操作传递在会话中传递)。

参考

事务和原子性

分布式事务和多文档事务

从MongoDB 4.2开始,这两个术语是同义词。 分布式事务是指分片群集和副本集上的多文档事务。 从MongoDB 4.2开始,多文档事务(无论是在分片群集或副本集上)也称为分布式事务。

对于需要原子性地读写多个文档(在单个或多个集合中)的情况,MongoDB支持多文档事务:

  • 在4.0版中,MongoDB支持副本集上的多文档事务。

  • 在版本4.2中,MongoDB引入了分布式事务,它增加了对分片群集上多文档事务的支持,并合并了对副本集上多文档事务的现有支持。

要在MongoDB 4.2部署(副本集和分片群集)上使用事务,客户端必须使用为MongoDB 4.2更新的MongoDB驱动程序。

多文档交易是原子性的(即提供“全有或全无”主张):

  • 提交事务时,将保存在事务中进行的所有数据更改,并在事务外部可见。 也就是说,一个事务在回滚其他事务时将不会提交其某些更改。在提交事务之前,在事务外部看不到在事务中进行的数据更改。

  • 当事务中止时,在事务中进行的所有数据更改都将被丢弃,而不会变得可见。 例如,如果事务中的任何操作失败,则事务中止,并且在事务中进行的所有数据更改都将被丢弃,而不会变得可见。

重点

事务和操作

分布式事务可用于多个操作,集合,数据库,文档,以及从MongoDB 4.2分片开始的。

对于事务:

  • 您无法在config,admin或local数据库中读取/写入集合。

  • 您无法写入system。*集合。

  • 您无法返回支持的操作的查询计划(如 explain)。

提示

count 操作

distinct 操作

在事务中执行不同的操作:

  • 代替db.coll.distinct("x"),使用

    db.coll.aggregate([
       { $group: { _id: null, distinctValues: { $addToSet: "$x" } } },
       { $project: { _id: 0 } }
    ])
  • 代替 db.coll.distinct("x", { status: "A" }),使用:

    db.coll.aggregate([
       { $match: { status: "A" } },
       { $group: { _id: null, distinctValues: { $addToSet: "$x" } } },
       { $project: { _id: 0 } }
    ])

    管道将游标返回到文档:

    { "distinctValues" : [ 2, 3, 1 ] }

    迭代光标以访问结果文档。

信息类操作

限制的操作

事务中不允许以下的操作:

  • 影响数据库目录的操作,例如创建或删除集合或索引。 例如,事务不能包含将导致创建新集合的插入操作。

可参考

事务和会话

  • 事务与会话关联; 即您开始一个会话的事务。

  • 在任何给定时间,一个会话最多只能有一个未完成的事务。

  • 使用驱动程序时,事务中的每个操作必须与会话关联。 有关详细信息,请参阅驱动程序专用文档。

  • 如果会话结束并且具有打开的事务,则事务中止。

读关注/写关注/读偏好

事务和读偏好

  • 如果未设置事务级别的读取首选项,则事务将使用会话级别的读取首选项。

事务和读关注

  • 如果未设置事务级读关注,则事务级读关注默认为会话级读关注。

事务支持以下读关注级别:

"local"

"majority"

"snapshot"

事务和写关注

提示:

不要为事务中的各个写操作明确设置写关注。 为事务中的各个写操作设置写关注点将导致错误。

  • 如果未设置事务级写关注,则事务级写关注默认为提交的会话级写关注。

w: 1

重要

w: "majority"

注意

一般信息

注意事项

仲裁者

如果任何事务操作读取或写入包含仲裁程序的分片,则其写操作跨越多个分片的事务将出错并中止。

禁用读关注Majority

  • 对于分片集群:

当enableMajorityReadConcern = false时,分片群集中不支持读关注级别 'snapshot' 。

如果任何事务的读或写操作涉及禁用了读关注"majority"的分片,则其写操作跨越多个分片的事务将出错并中止。

提示:

分片配置限制

注意

诊断

MongoDB提供了各种指标:

方法

功能兼容版本 (FCV)

部署

Minimum featureCompatibilityVersion//最小FCV

副本

4.0

分片

4.2

要检查成员的FCV,请连接到该成员并运行以下命令:

db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )

存储引擎

  • 主节点使用WiredTiger存储引擎,并且

在MongoDB 4.0中,仅使用WiredTiger存储引擎的副本集支持事务。

注意:

其他事务话题

译者:王金铷

MongoDB中文社区

资源列表推荐
资源入口

MongoDB中文社区官网

微信服务号 ——最新资讯和优质文章

Mongoing中文社区(mongoing-mongoing)

微信订阅号 ——发布文档翻译内容

MongoDB中文用户组(mongoing123)

官方微信号 —— 官方最新资讯

MongoDB数据库(MongoDB-China)

MongoDB中文社区组委会成员介绍

MongoDB中文社区翻译小组介绍

MongoDB中文社区微信技术交流群

添加社区助理小芒果微信(ID:mongoingcom),并备注 mongo

MongoDB中文社区会议及文档资源

MongoDB中文社区大咖博客

MongoDB白皮书

MongoDB初学者教程-7天入门

社区活动邮件订阅

比如,在mongo shell中参考 .

但是,当事务写入多个分片时,并非所有外部读取操作都需要等待已提交事务的结果在所有分片上可见。 例如,如果提交了一个事务,并且在分片A上可以看到写1,但是在分片B上却看不到写2,则外部读取时设置读关注 结果为可以读取写入1的结果而看不到写入2。

在大多数情况下,与单文档写入相比,多文档事务产生的性能成本更高,并且多文档事务的可用性不应替代有效的架构设计。 在许多情况下, 仍将是最佳选择您的数据和用例。 也就是说,在许多情况下,适当地对数据建模将最大程度地减少对多文档交易的需求。

有关其他事务使用方面的注意事项(例如运行时限制和oplog大小限制),另请参阅.

也可参考

您可以在现有集合上指定读/写(CRUD)操作。集合可以在不同的数据库中。有关CRUD操作的列表,请参考 。

您无法写入 集合。 (从MongoDB 4.2开始)

对于在事务外部创建的游标,不能在事务内部调用 。

对于在事务中创建的游标,不能在事务外调用 。

从MongoDB 4.2开始,您不能将 指定为事务的第一个操作。

事务中不允许执行影响数据库目录的操作,例如创建或删除集合或索引。例如,事务不能包含将导致创建新集合的插入操作。请参阅。

创建或删除集合后立即开始事务,如果在事务内访问了该集合,请在创建或者删除时设置write concern为 ,以确保该事务可以获取所需的锁。

可参考:

要在事务中执行计数操作,请使用 聚合阶段或者 (带有 表达式)聚合阶段。

与4.0功能兼容的MongoDB驱动程序提供了一个集合级API countDocuments(filter, options) 作为使用带有 的 表达式进行计数。4.0驱动程序已弃用 count() API。

从MongoDB 4.0.3开始, shell提供使用 的 表达式进行计数的 方法。

对于未分片的集合,可以使用 方法或者 命令以及具有 阶段的聚合管道。

对于分片集合,不可以使用 方法或者 命令。

要查找分片集合的不同值,请使用带有 阶段的聚合管道,例如:

信息命令在事务中是允许的,如 , , (以及辅助方法);但是他们不能是事务中的第一个操作。

和 命令及其辅助方法也被排除在外。

非CRUD和非信息性操作,例如 , , 等等及其辅助命令。

事务中的操作使用事务级别的。

使用驱动程序,可以在事务开始时设置事务级别的 :

如果未设置事务级别和会话级别的读选项,则事务将使用客户端级别的读偏好。 默认情况下,客户端级别的读选项为。

包含读取操作的必须使用读偏好。 给定事务中的所有操作都必须路由到同一成员。

事务中的操作使用事务级别的。 也就是说,在事务内部忽略在集合和数据库级别设置的任何读取关注。

您可以在事务开始时设置事务级别的。

如果未设置事务级别和会话级别的读关注,则事务级别的读取关注点默认为客户端级别的读关注。 默认情况下,对于主服务器的读取,客户端级别的读关注为。 另请参见。

读关注点返回该节点可用的最新数据,但可以回滚。

对于分片群集上的事务,读关注不能保证数据是从整个分片的同一快照视图获取。 如果需要快照隔离,请使用读关注。

如果以提交事务,读关注 返回大多数副本成员已确认的数据(即无法回滚数据)。

如果事务未使用 进行提交,则读关注不保证读操作可以读取多数提交的数据。

对于分片群集上的事务,读取关注不能保证数据是从整个分片的同一快照视图中获取。 如果需要快照隔离,请使用读关注。

如果事务提交时带有,读关注从大多数已提交数据的快照中返回数据。

如果事务未使用进行提交,则读关注不保证读操作使用了大部分提交的数据的快照。

对于分片群集上的事务,数据的视图 跨分片同步。

事务使用事务级别的进行写操作。 必须在没有显式写关注规范的情况下发出事务内部的写操作,并使用默认写关注。 在提交时,然后使用事务级写关注来提交写操作。

您可以在事务开始时设置事务级别的:

如果未设置事务级写关注和会话级写关注,则事务级写关注默认为客户端级写关注。 默认情况下,客户端级别的写入问题为。

事务支持所有写关注值,包括:

在主节点提交写关注后返回确认。

当您使用提交时,您的事务。

当您提交时,会写成事物级别的读关注,不保证事务中的读取操作会读取多数提交的数据 。

当您提交时,会写成事务级别的,读取关注不保证事务中的读取操作使用多数快照提交的数据。

在提交已应用于多数( M)有投票权的成员后,写关注返回确认; 即提交已应用于主要和(M-1)个投票辅助。

当您提交时,事务级别的读关注保证了操作已读取多数提交的数据。 对于分片群集上的事务,大多数分批提交的数据的视图不会在分片之间同步。

当您使用提交时,事务级别读关注保证操作来自大多数提交的数据的同步快照。

不管,分片集群事务的提交操作都包含使用{w:“多数”,j:是}写关注。

有关使用事务的各种注意事项,请参阅。 另外,分片群集,另请参见。

另请参见,以了解已禁用读关注majority的分片的事务限制。

一个含有3成员PSA(主-次-仲裁器)副本集,或具有3成员PSA分片的分片群集可能已禁用读关注Majority( 或)

如果事务涉及的分片具有,则事务中不能使用的读关注。 您只能在事务中使用读关注的或。 如果使用读关注,则事务错误并中止。

在副本集中,您可以指定读关注或或。但是,如果您打算过渡到具有禁用读关注majority分片的分片群集,则避免使用读关注的"snapshot"。

检查是否已禁用读关注“majority”,可以在 上运行并检查字段。 如果为“ false”,则禁用读关注“majority” 。

有关更多信息,请参阅和。

您不能在设置为“ false”的分片群集上运行事务( 如 使用的具有投票成员的分片)。

不管,分片集群事务的提交操作都包含使用{w:“majority”,j:true}写关注。

方法命令

返回 指标。

聚合管道

如果操作是事务的一部分,则返回。 的信息作为事务的一部分持有锁。 这些指标涉及向多个分片写入的分片事务。

方法 命令

如果操作是事务的一部分,则返回 。 这些指标涉及写入多个分片的分片事务。

和 日志信息

包括日志组件下慢事务信息(即超过阈值的事务信息)。

要使用事务,部署的所有成员的必须至少为:

有关更多信息,请参见参考页。

从MongoDB 4.2开始,副本集和分片群集支持:

从成员使用WiredTiger存储引擎或存储引擎

您无法在具有设置为“ false”的分片的分片集群上运行事务,例如使用具有投票成员的分片。

原文链接:

MongoDB中文社区—MongoDB爱好者技术交流平台

事务API
事务和原子性
事务和操作
事务和会话
读策略/写策略/读偏好
一般信息
其他事务问题
原文
mongo Shell Example
"local"
非规范化数据模型(嵌入的文档和数组)
生产注意事项
提交期间的外部读取
CRUD 操作
capped
getMore
getMore
killCursors
受限操作
"majority"
事务和操作参考
$count
$group
$sum
$sum
$group
mongo
$sum
$group
db.collection.countDocuments()
db.collection.distinct()
distinct
$group
db.collection.distinct()
distinct
$group
isMaster
buildInfo
connectionStatus
listCollections
listIndexes
createUser
getParameter
count
待处理的DDL操作和事务
事务和操作参考
读偏好
读偏好
primary
多文档事务
primary
读关注
读关注
“ local”
事务和读选项
“ local”
“ local”
“snapshot”
写关注“majority”
"majority"
写关注“majority”
“majority”
“majority”
“snapshot”
写关注“majority”
"snapshot"
写关注“majority”
"snapshot"
"snapshot"
写关注
写关注
w:1
w
w:1
w:1
如果存在故障则可以回滚
w:1
“majority”
w:1
"snapshot"
w:“majority”
w:“ majority”
“ majority “
w:“majority”
“快照 “
事务指定的写关注
注意事项
注意事项(分片群集)
禁用读关注Majority
--enableMajorityReadConcern false
replication.enableMajorityReadConcern:false
禁用读关注Majority
“快照”
“ local”
“majority”
“ snapshot”
已禁用读关注“majority”
“ local”
“majority”
“snapshot”
mongod
db.serverStatus()
storageEngine.supportsCommittedReads
3-成员主-从-仲裁者体系结构
三成员主-从-仲裁者 分片
writeConcernMajorityJournalDefault
内存存储引擎
为事务指定的写关注
featureCompatibilityVersion
设置FCV
多文档事务
内存
writeConcernMajorityJournalDefault
内存存储引擎
驱动 API
注意事项
注意事项 (分片集群)
事务和操作
https://docs.mongodb.com/manual/core/transactions/
db.serverStatus()
serverStatus
事务
$currentOp
$currentOp.transaction
无效会话
$currentOp.twoPhaseCommitCoordinator
db.currentOp()
currentOp
currentOp.transaction
currentOp.twoPhaseCommitCoordinator
mongod
mongos
TXN
operationProfiling.slowOpThresholdMs
https://mongoing.com/
https://mongoing.com/core-team-members
https://mongoing.com/translators
https://mongoing.com/resources
基础知识
性能优化
原理解读
运维监控
最佳实践
https://mongoing.com/mongodb-download-white-paper
https://mongoing.com/mongodb-beginner-tutorial
https://sourl.cn/spszjN