当前播放: 22 | 事务开发:多文档事务
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一章:MongoDB再入门 (12讲)
01 | 课程介绍
免费
02 | 内容综述
免费
03 | 认识文档数据库MongoDB
免费
04 | MongoDB特色及优势
免费
05 | 实验:安装MongoDB
免费
06 | MongoDB基本操作
07 | 实验:Hello World程序开发
08 | 聚合查询
09 | 实验:聚合查询
10 | 复制集机制及原理
11 | 实验:搭建MongoDB复制集
12 | MongoDB全家桶
第二章:从熟练到精通的开发之路 (12讲)
13 | 模型设计基础
14 | JSON文档模型设计特点
15 | 文档模型设计之一:基础设计
16 | 文档模型设计之二:工况细化
17 | 文档模型设计之三:模式套用
18 | 设计模式集锦
19 | 事务开发:写操作事务
20 | 事务开发:读操作事务之一
21 | 事务开发:读操作事务之二
22 | 事务开发:多文档事务
23 | Change Stream
24 | MongoDB开发最佳实践
22 | 事务开发:多文档事务

22 | 事务开发:多文档事务

唐建法(TJ)
Tapdata CTO、MongoDB中文社区主席、前MongoDB大中华区首席架构师
47讲 约500分钟3451
单独订阅¥129
2人成团¥99
本节摘要

下次更新时间为:2020 年 1 月 1 日
课件和 Demo 地址
https://github.com/geektime-geekbang/geektime-mongodb-course

展开
登录 后留言

精选留言(3)

  • 长期规划
    MongoDB还是很厉害的,一开始就支持单文档事务,4.0支持多文档事务,4.2支持有分片的分布式事务。不过,单文档事务这叫法有点鸡肋,虽然也的确是事务,但一般我们讲事务时,默认是指多文档的,对比MySQL就是多行。如果我在3.2中用两条更新语句更新一个文档,那应该也不是事务吧?单文档事务这叫法,给人感觉在一个文档上执行多条DML,使用的一个事务,但其实不是。另外,MongoDB在没有显式使用事务语句时,应该就是自动提交吧。

    作者回复: 这个单文档事务叫法背后的逻辑:

    关系型里面,用户表和用户电话是分开在两张表。当你需要新增一个新用户,你需要:
       insert into USER
       insert into PHONE
    这两个DML需要放在事务范围内,保证两条数据(其实是一条,用户数据)要么一起成功写入,要么回滚。

    在MongoDB里面,类似的操作变成了一个单文档操作:

       db.user.insert({ name: "TJ",phone: ["1234"]})

    这个操作里面其实相当于做了两个事情:1) 添加用户 2) 添加电话号码。这两个事情是有原子事务性的-要么一起成功,要么一起失败。

    这个是mongo单文档事务的由来。



    2019-12-19
    1
    1
  • 长期规划
    老师,网上看到的文章都说MySQL比MongoDB的最大优势是支持事务(多表),但现在MongoDB 4.0之后已经支持多文档事务了,那我感觉MySQL相对MongoDB来说就没啥优势了,当然,MySQL有外键,join等更强大一些,但这些特性一般不是选择MySQL是根本原因。我感觉所有场景下,都可以用MongoDB代替MySQL,是这样吗
    2019-12-22
  • 黎波拉小建
    提问个问题再Repeatable Read这例子里 先启动事务 然后事务外修改数据,事务内的多次读操作永远读到的是启动事务时的snapshot(x:1, y:1)。那我的问题是当事务这时提交时 是不是先拿事务内的修改(比如说改成{x:2,y:1})和事务外的修改比如说改成(x:1:y2)两者做合并然后没冲突的话再提交。最后记录是{x:2,y:2}
    2019-12-19
收起评论
看过的人还看
设计模式之美

王争  前Google工程师,《数据结构与算法之美》专栏作者

100讲 | 18080 人已学习

拼团 ¥129 原价 ¥199
后端技术面试38讲

李智慧  同程艺龙交通首席架构师,前Intel&阿里架构师,《大型网站技术架构》作者

38讲 | 3711 人已学习

拼团 ¥79 原价 ¥99
MySQL实战45讲

林晓斌  网名丁奇,前阿里资深技术专家

48讲 | 43741 人已学习

拼团 ¥69 原价 ¥99
Elasticsearch核心技术与实战

阮一鸣  eBay Pronto平台技术负责人

100讲 | 16796 人已学习

拼团 ¥89 原价 ¥129