【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。
相关推荐
爱编程的王小美5 小时前
MongoDB基础知识
数据库·mongodb
fallwind_of_july15 小时前
java项目分享-分布式电商项目附软件链接
java·redis·分布式·mongodb·elasticsearch·微服务·rabbitmq
爱的叹息2 天前
MongoDB 的详细解析,涵盖其核心概念、架构、功能、操作及应用场景
数据库·mongodb·架构
可待电子单片机设计定制(论文)4 天前
【STM32设计】数控直流稳压电源的设计与实现(实物+资料+论文)
stm32·嵌入式硬件·mongodb
Dnui_King4 天前
MongoDB 复制集实战
mongodb
可待电子单片机设计定制(论文)4 天前
【51单片机】基于单片机的智能门禁系统设计
单片机·mongodb·51单片机
这个懒人4 天前
MongoDB 核心机制解析
数据库·mongodb·nosql
WCL-JAVA4 天前
Docker快速安装MongoDB并配置主从同步
mongodb·docker·容器
-一杯为品-5 天前
【STM32单片机】#4 OLED调试&外部中断
stm32·单片机·mongodb