素材牛VIP会员
前端提问关于 MongoDB 中 _id 的一切
 青***8  分类:Node.js  人气:739  回帖:4  发布于6年前 收藏

标题有点夸张了,这个 ObjectID 能做什么事,我现在真的比较迷茫,我只知道这个 ID 是唯一的。能不能举例说一下这个东西可以做什么?

 标签:mongodbnode.js

讨论这个帖子(4)垃圾回帖将一律封号处理……

Lv6 码匠
su***an JAVA开发工程师 6年前#1

ObjectID在分布式环境下是安全的

Lv5 码农
麦***j 产品经理 6年前#2

参考 MongoID 的生成规则 http://www.cnblogs.com/xjk15082/archive/2011/09/18/2180792.html 主要是保证数据的唯一性, 每一台机器, 每个进程, 每一秒钟时间, 允许有 (256 的 3 次方) 条数据, 保证了数据不重复, 因为数据不重复的, 想要通过 ID 来定位到每一条数据就不会出错了

Lv6 码匠
捂***功 移动开发工程师 6年前#3

就是为了唯一

Lv3 码奴
随***火 站长 6年前#4

"这个ID是唯一的" 就足够用来做很多东西了.

现在假设有人在 http://sf.gg 上新建了一个问题,那么这个问题就需要一个类似身份证号码一样标识.后续有人回答或者评论或者顶或者踩这个问题就可以用这个标识来记录了,一切都OK.但是拿什么来做标识呢?标题显然不行,因为可能会有标题一样的.作者也不行,时间戳在高并发下面也有问题.这个时候这个 id 就有用了,成了救世主.

事实上用 MongoDB 存问题数据的时候不用考虑这个 ID,保存成功了会自动生成一个唯一的返回给你.然后你就可以拿这个 ID 找到这个问题了.

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取