MongoDB 高手课
唐建法(TJ)
Tapdata CTO、MongoDB 中文社区主席、前 MongoDB 大中华区首席架构师
19351 人已学习
新⼈⾸单¥59
课程目录
已完结/共 53 讲
MongoDB 高手课
登录|注册
留言
10
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 14 | JSON文档模型设计特点
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
03 | 认识文档数据库MongoDB
04 | MongoDB特色及优势
05 | 实验:安装MongoDB
06 | MongoDB基本操作
07 | 实验:Hello World程序开发
08 | 聚合查询
09 | 实验:聚合查询
10 | 复制集机制及原理
11 | 实验:搭建MongoDB复制集
12 | MongoDB全家桶
13 | 模型设计基础
14 | JSON文档模型设计特点
15 | 文档模型设计之一:基础设计
16 | 文档模型设计之二:工况细化
17 | 文档模型设计之三:模式套用
18 | 设计模式集锦
19 | 事务开发:写操作事务
20 | 事务开发:读操作事务之一
21 | 事务开发:读操作事务之二
22 | 事务开发:多文档事务
23 | Change Stream
24 | MongoDB开发最佳实践
25 | 分片集群机制及原理
26 | 分片集群设计
27 | 实验:分片集群搭建及扩容
28 | MongoDB监控最佳实践
29 | MongoDB备份与恢复
30 | 备份与恢复操作
31 | MongoDB安全架构
32 | MongoDB安全加固实践
33 | MongoDB索引机制(一)
34 | MongoDB索引机制(二)
35 | MongoDB读写性能机制
36 | 性能诊断工具
37 | 高级集群设计:两地三中心
38 | 实验:搭建两地三中心集群
39 | 高级集群设计:全球多写
40 | MongoDB上线及升级
41 | MongoDB应用场景及选型
42 | MongoDB典型案例(一)
43 | MongoDB典型案例(二)
44 | 关系型数据库迁移
45 | 数据库迁移方式及工具
46 | Oracle迁移实战
47 | MongoDB + Spark实时大数据
48 | MongoDB + Spark连接实战
49 | MongoDB SQL套接件
50 | MongoDB与微服务
51 | MongoDB与数据中台
52 | MongoDB数据中台案例
53 | 结果测试&结束语
登录 后留言

全部留言(10)

  • 最新
  • 精选
firek
老师,mongodb除了collection之外还有一个功能可以存附件,比如文件,视频,音频等。这个是和普通关系型数据库有区别的地方吧,还有就是以前面试的时候,面试官也拿mongodb和fastdfs提问,两者有什么区别,老师你可以用之前的项目经验解答下么?

作者回复: MongoDB的GridFS 不是一个真正的filesystem。它其实是一个api sugarcoating。实现是在驱动端(不是mongodb服务器!),提供一个字节流的API, 允许你把二进制文件通过这个接口提交给MongoDB 驱动,或者从这个接口读取二进制文件流。然后驱动会把这个文件分块,每一块作为一个mongodb的文档插入到集合里。 当你需要的时候,mongodb驱动会把所有相关的切块读出来,拼成一整个文件,返回给应用程序。 所以这个不是真的文件系统,只是提供了一个虚拟的文件接口供应用进行文件存储和读取。优点是可以用到mongo的分布式能力,做海量的二进制文件管理和高可用等。

2019-12-25
8
fomy
数据冗余时,当有数据要更新时岂不是很麻烦?比如原来组A叫“同是”,但是后面发现“同是”错了,应该是“同事”。比如有很多这样的数据,岂不是要一个一个去改?

作者回复: 不用一个个改,可以是一个update语句,更新所有匹配项

2020-03-14
2
高宇
老师好,我这边有个疑问,MongoDB默认生成的 _id 类型是 ObjectId,在做查询时,经常需要考虑做类型转换处理,不然会碰到查不到数据的问题。 虽然ORM框架可以处理这个问题,但我想确认一个问题就是如果每次插入数据的时候都提前 new ObjectID,然后设置一个 string 类型的主键,和原生 ObjectID 相比是否有什么不好的地方,比如说性能是否会差一些

作者回复: 么有太大区别,性能上也不会有什么差别,除了你自己要保证这个_id的唯一性。

2020-01-21
1
奔跑的脑细胞
老师,在学习过程中遇到一个概念Tailable Cursor,这个应该怎么理解呢?

作者回复: Linux 有个命令叫tail,如果你理解那个的用法,就知道这个名词的由来了。 tail -f debug.log 这个命令会打印debug.log 的内容,然后不会退出,会在那里监听debug.log文件是否有新的日志写入,一旦有新的,就会马上在控制台打印出来。 使用tailable cursor, 你的程序不会退出,读完cursor最后一条以后会block,等待下一条数据过来后继续。很多时候可以用来做一些类似Java里面 observer pattern的事情或者传统数据库里触发器的事情。

2020-08-11
2
第一装甲集群司令克莱斯特
我们知道,要给oracle数据库的表新增字段以适应业务需求,并投入生产环境,这是需要评估的,因为新增表字段,投入生产环境会面对上亿流量的冲击,关系型数据库是否扛的住,是个风险。那么作为文档型的Mongo数据库,为了适应业务,也拓展模型,新增dto以及字段并投入生产面对大流量考验,会有什么隐患么?说白了,业务扩展,加字段投生产,Mongo扛得住生产环境么?

作者回复: 新增表字段,就会引来上亿流量冲击 - 这个能详细说下是什么样的一个情况吗?我脑补不上 上亿流量是一天?一个小时?取决于时间周期,这个大概率不是什么问题。

2020-01-01
追忆似水年华
这前后几节关于设计模式的课程看下来,印象最深的一点,就是MongoDB虽然很方便,但开发者还是需要多学习、多思考,尽量在前期用良好的设计,来避免之后因设计不周所产生的各种问题,而不能因为工具、产品的方便,就降低了对自己的要求。
2020-03-25
4
依乐祝
T老师,你好。想问几个问题:1.我这边有一个表好几十亿数据,在查询的时候根据条件进行分页展示的时候,count发现会很慢,有没有好的思路提供下啊?我目前都准备把mongodb数据通过oplog实时迁移到ES中,再利用ES来进行查询的优化了!2. 如果我这边有两个MongoDB库,假设是A库与B库 。这时候我页面上有一个页面需要用到AB两个库里面的集合来组合显示列表数据,这时候有什么好的建议吗?目前想到的是准备利用ES父子文档来进行优化。希望T老师能提供下新的思路!非常感谢
2020-03-22
2
4
李一
咨询个问题,关于子文档能否建立唯一索引
2022-01-18
刘永臣
满满的干货,很值!
2021-12-27
聆听
大佬好,这个mongodb 里面自增id 只能用数据库新增加1的那种吗?还是大家用mongodb都是用的_id当唯一主键使用?
2021-10-04
收起评论