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 小时前
Qt写入excel
数据库·qt·excel
Q_970956391 小时前
java+vue+SpringBoo校园失物招领网站(程序+数据库+报告+部署教程+答辩指导)
java·数据库·vue.js
Wyc724092 小时前
Maven
java·数据库·maven
程序猿小D2 小时前
[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的电影小说网站管理系统,推荐!
java·数据库·mysql·spring·毕业设计·ssm框架·电影小说网站
羊小猪~~2 小时前
数据库学习笔记(十七)--触发器的使用
数据库·人工智能·后端·sql·深度学习·mysql·考研
背太阳的牧羊人2 小时前
Neo4j 的向量搜索(Neo4jVector)和常见的向量数据库(比如 Milvus、Qdrant)之间的区别与联系
数据库·neo4j·milvus
liulun3 小时前
在浏览器中使用SQLite(官方sqlite3.wasm)
数据库·sqlite·wasm
IT项目管理4 小时前
达梦数据库DMHS介绍及安装部署
linux·数据库
你都会上树?4 小时前
MySQL MVCC 详解
数据库·mysql
大春儿的试验田4 小时前
高并发收藏功能设计:Redis异步同步与定时补偿机制详解
java·数据库·redis·学习·缓存