MongoDB 简介

  • MongoDB:基于NoSQL文档存储模型,文档是以二进制JSON(BSON)对象的方式存储
  • MongoDB优点:面向文档、高性能、高可用性(复制集)、高可拓展性(分布式)、对SQL注入攻击免疫
  • 文档之间的关系:1:1、1:N、N:1、N:N
  • 传统关系型数据库和MongoDB非关系型文档数据库的比较
SQL术语/概念MongoDB术语/概念解释/说明
database:数据库 database:数据库 数据库
table:表格 collection:集合 数据库表/集合,存放文档 
row:行 document:文档 数据记录行/文档,文档数据库最小的单位
column:列 field:字段 数据字段/域
index:索引 index:索引 索引
table joins:表连接   表连接,MongoDB不支持
primary key:主键 primary key:主键 主键,MongoDB自动将_id字段设置为主键
  • MongoDB ObjectId
    • ObjectId是一个12字节BSON类型数据,有以下格式
      • 前4个字节表示时间戳
      • 接下来的3个字节是机器标识码
      • 紧接的2个字节有进程id组成(PID)
      • 最后3个字节是随机数
    • MongoDB存储的文档必须有一个 _id 键,这个键可以人为自定义,默认是个ObjectId对象,且该键在某个集合中必须是唯一的,来确保集合里面每个文档都能被唯一标识
    • MongoDB采用ObjectId的原因:在多个服务器上使用自增的主键既费力又费时
  • MongoDB数据类型的对照
类型数字备注
Double 1  
String 2  
Object 3  
Array 4  
Binary data 5  
Undefined 6 已废弃
Object id 7  
Boolean 8  
Date 9  
Null 10  
Regular Expression 11  
JavaScript 13  
Symbol 14  
JavaScript (with scope) 15  
32-bit integer 16  
Timestamp 17  
64-bit integer 18  
Min key 255 Query with -1
Max key 127  
  • WriteConcern参数
    • WriteConcern.NONE:没有异常抛出
    • WriteConcern.NORMAL仅抛出网络错误异常,没有服务器错误异常
    • WriteConcern.SAFE抛出网络错误异常、服务器错误异常;并等待服务器完成写操作
    • WriteConcern.MAJORITY抛出网络错误异常、服务器错误异常;并等待一个主服务器完成写操作
    • WriteConcern.FSYNC_SAFE抛出网络错误异常、服务器错误异常;写操作等待服务器将数据刷新到磁盘
    • WriteConcern.JOURNAL_SAFE抛出网络错误异常、服务器错误异常;写操作等待服务器提交到磁盘的日志文件
    • WriteConcern.REPLICAS_SAFE抛出网络错误异常、服务器错误异常;等待至少2台服务器完成写操作
原文地址:https://www.cnblogs.com/My-Sun-Shine/p/13510687.html