mongoDB(5) -- _id 解释

_id 是mongoDB中唯一的主键,MongoDB中存储的文档必须有一个”_id”键, 无论用户是否设置都将自动生成,其类型为ObjectId. 在一个集合里面,每个文档都有唯一的”_id”值,来确保集合里面每个文档都能被唯一标识。

ObjectId 是一个12字节 BSON 类型数据,有以下格式:

前4个字节表示时间戳
接下来的3个字节是机器标识码
紧接的两个字节由进程id组成(PID)
最后三个字节是随机数。
     0|1|2|3 | 4|5|6 | 7|8 | 9|10|11
       时间戳 | 机器  | PID | 计数器 

在使用MongoTemplate 保存数据的时候,如果数据源中数据的_id已经存在,则会更改原有的数据,如果不存在则进行新增操作。

如果自己设置数据链接池,则如果数据中的_id在数据库中已存在,则不能进行保存操作,否则会产生错误。

    原文作者:卡戎li
    原文地址: https://www.jianshu.com/p/36c1adbab743
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞