MongoDB默认_id字段

一、_id字段的含义及用途

插入MongoDB表数据的每一条文档, 都应该有一个唯一标识,去区分每一条文档。

即每一张表都要有对应的主键(可以指定,不指定时MongoDB默认主键是_id),为指定主键时,在每一条文档被插入到集合后,MongoDB都会自动增加主键,MongoDB中文档主键的名称叫做 _id

二、_id数据类型及长度

_id的数据类型是ObjectId。ObjectId是轻量型的,不同的机器都能全局唯一的生成它;

ObjectId的长度为12字节(24位):

0-3字节: 表示时间戳

4-6字节: 表示主机的唯一标识符。【确保不同主机生成的ObjectId是唯一的】

7-8字节: 表示进程id。【确保同一机器上并发的多个进程产生的ObjectId是唯一的】

9-11字节:表示计数器。【确保同一机器上同一进程同一秒产生的ObjectId是唯一的】

相关推荐
步十人1 分钟前
【Redis】持久化机制
数据库·redis·缓存
Quincy_Freak38 分钟前
银河麒麟aarch64如何高效做数据分析?分享一款内网离线数据分析利器
大数据·数据库·数据挖掘·数据分析·aarch64
香气袭人知骤暖1 小时前
PG数据库 Docker 容器自动备份方案
数据库·docker·容器
me8321 小时前
【Linux】Linux 目录命名规范溯源(Linux各个目录究竟是干嘛的)
linux·运维·数据库
土狗TuGou1 小时前
SQL内功笔记 · 第2篇:列的约束
数据库·笔记·sql
java_cj2 小时前
MySQL 执行原理深度剖析:查询成本计算与优化器内幕
数据库·后端·mysql
java_cj2 小时前
数据库范式化设计与性能优化全攻略
数据库·后端·性能优化·架构·开源
Noushiki2 小时前
MySQL索引优化实战:高效查询的黄金法则
数据库·sql·mysql
TDengine (老段)2 小时前
TDengine Commit 与 Flush 机制 — 从内存到磁盘的数据落盘全流程
大数据·数据库·物联网·架构·时序数据库·iot·tdengine
ID_180079054733 小时前
(淘宝 / 京东)商品评论 API 接口:技术实战案例与架构分析
服务器·数据库·架构