目录

1、MongoDB的优势

2、MongoDB的应用场合

 3、MongoDB与SQL的术语对比

 4、MongoDB数据库

 5、MongoDB集合

  5、MongoDB文档

 6、ObjectId类型的主键


1、MongoDB的优势

  1. JSON文档模型 高可用
    动态的数据模式 文本搜索
    二级索引强大 企业安全
    查询功能 聚合框架MapReduce
    自动分片 文件存储GridFS
    水平扩展
    支持多种 编程语言
    自动复制

    2、MongoDB的应用场合

  2. 存储网站内容、缓存等大容量、低价值的数据

高伸缩性的场景中用于对象及JSON数据的存储

SQL数据库4个表

MongoDB数据库1个集合

 3、MongoDB与SQL的术语对比

SQL术语 MongoDB术语

Database(数据库)

Database(数据库)

Table(表)

Collection(集合)

Row(行或记录)

DocumentBSON Document(文档)

Column(列或字段)

Index(索引)

Table Joins(表联合)

Embedded Documents and Linking(嵌入文档和连接)

Primary Key(主键,将唯一列或列组合定义为主键)

Primary Key(主键,自动设置为_id字段)

Aggregation(聚合)

Aggregation Pipeline(聚合管道)

 4、MongoDB数据库

  •         一个MongoDB服务器可以建立多个独立的数据库,每个数据库都有自己的集合和权限,不同的数据库也放置在不同的文件中;
  •         MongoDB中默认的数据库local。

 5、MongoDB集合

  •         集合类似于SQL数据库管理系统中的数据表,是一个MongoDB文档的集合;
  •         集合存在于数据库中,没有固定的结构;
  •         集合只在文档内容插入之后才会创建。

{"site":"www.jd.com"}

{"site":"www.taobao.com","name":"淘宝","hit":125}

{"site":"www.tmall.com","name":"天猫","purchases":23}

  5、MongoDB文档

  •         文档是一组键值对;
  •         与SQL数据库不同,MongoDB的文档不需要设置相同的字段;
  •         MongoDB文档中存储的是BSON格式的数据。
_id : ObjectId("5cdb7b5d7d422febd0es8f3e")
isbn: "9787115450326""
name:"网络操作系统(第2版)"
author : Array
    0:"陈景亮"
    1:"钟小平"
    2:"宋大勇"
press :"人民邮电出版社"
price: 69.80
pubdate : "2017-07-e1" 
comments : Array

_id : ObjectId("5cdb74a97d422febdees8f3d")
isbn: "9787111544937"
name:"深入理解计算机系统(原书第3版)"
author: Array
press:"机械工业出版社”
price: 139.00
pubdate : "2016-12-01"
comments : Array

_id : ObjectId("5cdb7f647d422febde088f3f"
isbn: "9787115483698"
name: "Centos Linux系统管理与运维(第2版)"
author: Array
press:"人民邮电出版社"
price: 69.80
pubdate: "2018-08-01"
comments: Array

 SQL数据库表

 6、ObjectId类型的主键

  • MongoDB文档必须有一个名为_id的主键;
  • 主键的值可以是任何类型的,默认是一个ObjectId对象MongoDB采用一个ObjectId类型的值作为主键;
  • ObjectId12字节的BSON字符串,一个字节为两位十六进制数,共有24位十六进制数,其组成是固定格式,例如:5cdb7f647d422f0bd0088f3f

  • 4个字节表示当前的时间戳;
  • 3个字节代表所在主机唯一标识;
  • 2个字节表示进程ID
  • 3个字节是一个自动生成的随机数。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐