概念

  1. MongoDB 将数据记录存储为 BSON 文档;
  2. BSON(Binary JSON)是 JSON 文档的二进制表示形式,它比 JSON 包含更多的数据类型;
  3. BSON 规范
  4. BSON 支持的数据类型

文档结构

  1. MongoDB 文档由字段和值对组成,并具有以下结构
    {
      field1: value1,
      field2: value2,
      field3: value3,
      ...
      fieldN: valueN
    }
    
  2. 文档与文档之间的数据结构可以不同

字段名称有以下限制

  1. 字段名称 _id 保留用作主键;它的值在集合中必须是唯一的,不可变的,并且可以是数组以外的任何类型;
  2. 字段名称不能包含空字符;
  3. 顶级字段名称不能以美元符号 $ 开头;
  4. 从 MongoDB 3.6 开始,服务器允许存储包含点 . 和美元符号 $ 的字段名称;

MongoDB 中的数据类型

  1. 字段的值可以是任何 BSON 数据类型,包括其他文档,数组和文档数组。例如,以下文档包含各种类型的值:
    var mydoc = {
      // _id 保存一个 ObjectId 类型
      _id: ObjectId("5099803df3f4948bd2f98391"),
    
      // name 包含一个嵌入式文档,该文档包含 first 和 last 字段
      name: {
        first: "Alan",
        last: "Turing"
      },
    
      // birth 和 death 持有 Date 类型的值
      birth: new Date('Jun 23, 1912'),
      death: new Date('Jun 07, 1954'),
    
      // contribs 保存一个字符串数组
      contribs: ["Turing machine", "Turing test", "Turingery"],
    
      // views 拥有 NumberLong 类型的值
      views: NumberLong(1250000)
    }
    
  2. 下面是 MongoDB 支持的常用数据类型:
    类型 整数标识符 字符串标识符 描述
    Double 1 double 双精度浮点值,用于存储浮点值;
    String 2 string UTF-8 编码的字符串,存储数据常用的数据类型;
    Object 3 object 用于内嵌文档;
    Array 4 array 用于将数组或列表或多个值存储为一个键;
    Binary data 5 binData 二进制数据,用于存储二进制数据;
    ObjectId 7 objectId 对象 ID,用于创建文档的 ID;
    Boolean 8 bool 布尔值,用于存储布尔值(真/假);
    Date 9 date 日期时间,用 UNIX 时间格式来存储当前日期或时间;
    Null 10 null 用于创建空值;
    Regular Expression 11 regex 正则表达式类型,用于存储正则表达式;
    32-bit integer 16 int 整型数值,用于存储 32 位整型数值;
    Timestamp 17 timestamp 时间戳,记录文档修改或添加的具体时间;
    64-bit integer 18 long 整型数值,用于存储 64 位整型数值;
    Decimal128 19 decimal 数值类型,常用于存储更精确的数字,例如货币;

_id 字段

  1. 在 MongoDB 中,存储在集合中的每个文档都需要一个唯一的 _id 字段作为主键,如果插入的文档省略 _id 字段,则 MongoDB 驱动程序会自动为 _id 字段生成 ObjectId;
  2. _id 字段具有以下行为和约束:
    • 默认情况下,MongoDB 在创建集合时会在 _id 字段上创建唯一索引;
    • _id 字段始终是文档中的第一个字段;
    • _id 字段可以包含任何 BSON 数据类型的值,除了数组;

打赏作者
您的打赏是我前进的动力
微信
支付宝
评论

中午好👏🏻,我是 ✍🏻   疯狂 codding 中...

粽子

这有关于产品、设计、开发的问题和看法,还有技术文档和你分享。

相信你可以在这里找到对你有用的知识和教程

了解更多

目录

  1. 1. 概念
  2. 2. 文档结构
  3. 3. 字段名称有以下限制
  4. 4. MongoDB 中的数据类型
  5. 5. _id 字段