【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。
相关推荐
金仓拾光集12 小时前
筑牢风控生命线:金仓数据库替代MongoDB,重构证券融资融券业务的数据基石
数据库·mongodb·信创·1024程序员节·kingbasees·国产化替代
yumgpkpm14 小时前
CMP(类ClouderaCDP7.3(404次编译) )完全支持华为鲲鹏Aarch64(ARM),粉丝数超过200就开源下载
hive·hadoop·redis·mongodb·elasticsearch·hbase·big data
✎ ﹏梦醒͜ღ҉繁华落℘17 小时前
单片机开发---分层架构设计
单片机·嵌入式硬件·mongodb
FinTech老王1 天前
国产数据库MongoDB兼容性技术分析与实践对比
mongodb·1024程序员节
武子康1 天前
Java-159 MongoDB 副本集容器化 10 分钟速查卡|keyfile + –auth + 幂等 init 附 docker-compose
java·数据库·mongodb·docker·性能优化·nosql·1024程序员节
java_logo1 天前
Docker 部署 Elasticsearch 全流程手册
大数据·运维·mongodb·elasticsearch·docker·容器
小超嵌入式笔记1 天前
【Keil5教程及技巧】耗时一周精心整理万字全网最全Keil5(MDK-ARM)功能详细介绍【建议收藏-细细品尝】
java·数据库·mongodb
自由会客室2 天前
Ubuntu24安装MongoDB7
数据库·mongodb
FinTech老王2 天前
国产数据库替代MongoDB:政务电子证照新选择
mongodb·1024程序员节
武子康2 天前
Java-154 深入浅出 MongoDB 用Java访问 MongoDB 数据库 从环境搭建到CRUD完整示例
java·数据库·分布式·sql·mongodb·性能优化·nosql