【mongodb】mongodb的字段类型

目录

          • [1. 基本数据类型](#1. 基本数据类型)
            • [1.1 String](#1.1 String)
            • [1.2 Number](#1.2 Number)
            • [1.3 Boolean](#1.3 Boolean)
            • [1.4 Date](#1.4 Date)
            • [1.5 Null](#1.5 Null)
            • [1.6 ObjectId](#1.6 ObjectId)
            • [1.7 Array](#1.7 Array)
            • [1.8 Binary Data](#1.8 Binary Data)
            • [1.9 Object](#1.9 Object)
          • [2. 特殊数据类型](#2. 特殊数据类型)
            • [2.1 Regular Expression](#2.1 Regular Expression)
            • [2.2 JavaScript](#2.2 JavaScript)
            • [2.3 Symbol](#2.3 Symbol)
            • [2.4 Decimal128](#2.4 Decimal128)
            • [2.5 Timestamp](#2.5 Timestamp)
            • [2.6 MinKey/MaxKey](#2.6 MinKey/MaxKey)
            • [2.7 DBPointer](#2.7 DBPointer)
          • [3. 常用字段类型示例](#3. 常用字段类型示例)
          • [4. 注意事项](#4. 注意事项)
1. 基本数据类型
1.1 String
  • 1.描述:字符串类型,用于存储文本数据,支持 UTF-8 编码。
  • 2.示例:"name": "Alice"
1.2 Number
  • 1.Int32/Int64: 整数类型(32 位或 64 位)。"age": 30
  • 2.示例:Double: 双精度浮点数。"height": 1.75
1.3 Boolean
  • 1.布尔类型,用于存储 true 或 false。
  • 2.示例:"isStudent": true
1.4 Date
  • 1.描述:日期类型,用于存储日期和时间,存储为 UTC 时间。
  • 2.示例:"createdAt": ISODate("2023-10-01T00:00:00Z")
1.5 Null
  • 1.描述:空值类型,用于表示字段值为空或不存在。
  • 2.示例:"middleName": null
1.6 ObjectId
  • 1.描述:唯一标识符类型,MongoDB 默认的 _id 字段类型,用于唯一标识文档。
  • 2.示例:"_id": ObjectId("6523f1c7e8b8d4a5b3c1d2e3")
1.7 Array
  • 1.描述:数组类型,用于存储一组值,可以是任意数据类型的混合。
  • 2.示例:"tags": "mongodb", "database", "nosql"
1.8 Binary Data
  • 1.描述:二进制数据类型,用于存储二进制数据(如图片、文件等)。
  • 2.示例:"imageData": BinData(0, "base64data==")
1.9 Object
  • 1.描述:嵌套文档类型,用于存储嵌套的键值对(类似于 JSON 对象)。
  • 2.示例:"address": { "city": "New York", "zip": "10001" }
2. 特殊数据类型
2.1 Regular Expression
  • 1.描述:正则表达式类型,用于存储正则表达式模式。
  • 2.示例:"pattern": /ab*c/i
2.2 JavaScript
  • 1.描述:JavaScript 代码类型,用于存储 JavaScript 代码或函数。
  • 2.示例:"script": function() { return 1 + 1; }
2.3 Symbol
  • 1.描述:符号类型,用于存储唯一的符号值(通常用于特定语言环境)。
  • 2.示例:"status": Symbol("active")
2.4 Decimal128
  • 1.描述:高精度十进制数类型,用于存储需要高精度的十进制数值。
  • 2.示例:"price": Decimal128("19.99")
2.5 Timestamp
  • 1.描述:时间戳类型,用于存储内部时间戳(与 Date 类型不同)。
  • 2.示例:"timestamp": Timestamp(1696156800, 1)
2.6 MinKey/MaxKey
  • 1.描述:特殊键类型,用于比较操作,分别表示最小值和最大值。
  • 2.示例:"rank": MinKey 或 "rank": MaxKey
2.7 DBPointer
  • 1.描述:数据库指针类型,用于存储指向另一个集合中文档的引用(已不推荐使用)。
  • 2.示例:"ref": DBPointer("collectionName", ObjectId("..."))
3. 常用字段类型示例
复制代码
{
  "_id": ObjectId("6523f1c7e8b8d4a5b3c1d2e3"),
  "name": "Alice",
  "age": 30,
  "height": 1.75,
  "isStudent": true,
  "createdAt": ISODate("2023-10-01T00:00:00Z"),
  "middleName": null,
  "tags": ["mongodb", "database", "nosql"],
  "address": {
    "city": "New York",
    "zip": "10001"
  },
  "price": Decimal128("19.99"),
  "status": "active"
}
4. 注意事项
  • 1.灵活性:MongoDB 的文档结构是动态的,字段类型可以在不同文档中不同,甚至同一个文档中的字段类型也可以不同(虽然不推荐这样做)。
  • 2.类型检查:MongoDB 不会强制检查字段类型,但应用程序逻辑应确保数据的一致性。
  • 3.ObjectId:默认情况下,MongoDB 会为每个文档生成一个唯一的 _id 字段,类型为 ObjectId。
相关推荐
sevenll0712 小时前
DocKit agentic MongoDB GUI 客户端 - 用自然语言和你的数据对话
数据库·mongodb·nosql·agent·桌面客户端
点灯小铭13 小时前
基于单片机与DAC0832的双路波形信号发生系统设计
数据库·单片机·mongodb·毕业设计·课程设计·期末大作业
JAVA面经实录91714 小时前
MongoDB(文档型 NoSQL)
java·数据库·mongodb·nosql
点灯小铭16 小时前
基于单片机控制的多模式智能冰箱设计—冷藏、速冷、省电与自动化霜功能实现
单片机·mongodb·自动化·毕业设计·课程设计·期末大作业
是一个Bug1 天前
MongoDB:像搭积木一样存数据
数据库·mongodb
清风6666661 天前
基于单片机的可调数控电源设计
单片机·嵌入式硬件·mongodb·毕业设计·课程设计·期末大作业
IT界的老黄牛2 天前
MongoDB 主从切换排查实战:从 docker ps 到 jq,一套 SOP 定位死因
数据库·mongodb·docker
listhi5203 天前
基于 LabVIEW 和 51 单片机的温度检测系统
单片机·mongodb·labview
yu85939585 天前
适合单片机和嵌入式系统的 C 语言 FIR 滤波器实现
c语言·单片机·mongodb
身如柳絮随风扬6 天前
MongoDB 典型使用场景深度解析:从订单冷热分离到社交地理查询
数据库·mongodb