搜索
node.js - 前端提问关于 MongoDB 中 _id 的一切
PHP中文网
PHP中文网 2017-04-17 11:04:13
[Node.js讨论组]

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

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(4)
PHP中文网

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

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

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

怪我咯

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

PHPz

就是为了唯一

巴扎黑

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号