MongoDB 数据类型
2021/11/17 19:09:56
本文主要是介绍MongoDB 数据类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
MongoDB 数据类型
数据类型 | 中文名称 | Number | 英文名称 | 备注 |
---|---|---|---|---|
Double | 双精度浮点数 | 1 | “double” | |
String | 字符串 | 2 | “string” | |
Object | 对象 | 3 | “object” | |
Array | 数组 | 4 | “array” | |
Binary data | 二进制数据 | 5 | “binData” | |
Undefined | 未定义 | 6 | “undefined” | Deprecated. |
ObjectId | 对象编号 | 7 | “objectId” | |
Boolean | 布尔型 | 8 | “bool” | |
Date | 日期 | 9 | “date” | |
Null | 空 | 10 | “null” | |
Regular Expression | 正则表达式 | 11 | “regex” | |
DBPointer | 12 | “dbPointer” | Deprecated. | |
JavaScript | JS脚本 | 13 | “javascript” | |
Symbol | 符号 | 14 | “symbol” | Deprecated. |
JavaScript (with scope) | JS脚本(具有范围) | 15 | “javascriptWithScope” | |
32-bit integer | 整数 | 16 | “int” | |
Timestamp | 时间戳 | 17 | “timestamp” | |
64-bit integer | 长整数 | 18 | “long” | |
Decimal128 | 小数 | 19 | “decimal” | New in version 3.4. |
Min key | 最小Key | -1 | “minKey” | |
Max key | 最大Key | 127 | “maxKey” |
在 MongoDB 中数字默认 double 类型
ObjectID 和 _id
-
_id:MongoDB 中存储的文档必须有一个 _id 键,确保集合中每个文档都有唯一标识(类似 MySQL 的主键)
-
ObjectID:是 _id 的默认类型(对象很小,可能是惟一的,生成速度快,而且是有序的),由 12 个字节组成,其结构如下:
-
时间戳(4个字节):标准纪元开始的时间(秒),每一秒的时间戳是不同的
-
机器(3个字节):不同主机产生的机器名的散列值是不同的
-
PID(2个字节):同一台主机上并发多个进程产生的 ObjectID 是进程号是不同的
-
递增计数器(3个字节):自动增加的计数器,确保相同进程同一秒产生的 ObjectID 也是不一样的
时间戳+机器+PID: 确保同一秒不同机器不同进程产生的 ObjectID 是唯一的
递增计数器:用来确保在同一秒内产生的 ObjectId 也不会冲突
显然系统生成的 ObjectID 已经很严谨了,但尽量采用程序创建的方式,速度、可读性、可维护性都要强于系统创建。在客户端生成体现了 MongoDB 的设计理念:能从服务器端转移到驱动程序来做的事,就尽量转移。
这篇关于MongoDB 数据类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24MongoDB资料:新手入门完全指南
- 2024-12-20go-zero 框架的 RPC 服务 启动start和停止 底层是怎么实现的?-icode9专业技术文章分享
- 2024-12-19Go-Zero 框架的 RPC 服务启动和停止的基本机制和过程是怎么实现的?-icode9专业技术文章分享
- 2024-12-18怎么在golang中使用gRPC测试mock数据?-icode9专业技术文章分享
- 2024-12-15掌握PageRank算法核心!你离Google优化高手只差一步!
- 2024-12-15GORM 中的标签 gorm:"index"是什么?-icode9专业技术文章分享
- 2024-12-11怎么在 Go 语言中获取 Open vSwitch (OVS) 的桥接信息(Bridge)?-icode9专业技术文章分享
- 2024-12-11怎么用Go 语言的库来与 Open vSwitch 进行交互?-icode9专业技术文章分享
- 2024-12-11怎么在 go-zero 项目中发送阿里云短信?-icode9专业技术文章分享
- 2024-12-11怎么使用阿里云 Go SDK (alibaba-cloud-sdk-go) 发送短信?-icode9专业技术文章分享