【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。
相关推荐
quweiie6 小时前
mongodb管理工具的使用
数据库·mongodb
ChaITSimpleLove1 天前
MongoDB 与 EF Core 深度整合实战:打造结构清晰的 Web API 应用
mongodb·nosql·分布式数据库·ef core
Liudef062 天前
使用Docker部署MongoDB
mongodb·docker·容器
码农捻旧2 天前
Node.js中MongoDB连接的进阶模块化封装
数据库·mongodb·node.js
洛阳泰山3 天前
Windows系统部署MongoDB数据库图文教程
数据库·windows·mongodb
yuanpan3 天前
MongoDB与PostgreSQL两个数据库的特点详细对比
数据库·mongodb·postgresql
白露与泡影3 天前
基于Mongodb的分布式文件存储实现
分布式·mongodb·wpf
孤的心了不冷3 天前
【Linux】Linux安装并配置MongoDB
linux·运维·mongodb·容器
好吃的肘子4 天前
MongoDB 应用实战
大数据·开发语言·数据库·算法·mongodb·全文检索
独泪了无痕4 天前
MongoTemplate 基础使用帮助手册
spring boot·mongodb