Mongodb中的ObjectId浅谈
来源:互联网 发布:剪发 知乎 编辑:程序博客网 时间:2024/05/21 20:24
使用了Mongodb已经有一段时间了,但是从来没有关注过一个东西,那就是每次插入一条新文档时,文档中都会有一个字段ObjectId,那么这个字段有什么含义呢?这个字段的值又是代表什么呢?简单了解了下,在这里跟大家分享下。
ObjectId从表面看是一个由12个字节组成的字符串,那么这12个字节都代表什么含义呢?我们将12个字节进行切分,如下
4个字节 | 3个字节 | 2个字节 | 3个字节
从前往后的含义依次是:
4个字节:服务器的时间戳,单位是秒
3个字节:Mongodb所在机器的机器识别码
2个字节:表示生成该文档的进程ID
3个字节:随机数
从上面的ObjectId字节描述来看,其实,在ObjectId内部其实是包含不少有用信息的,最直观的就是时间戳,可以知道当前文档记录是什么时候插入的。那么如果根据这里ObjectId的前四个字节来直观查看日期时间呢?
建设我们这里有个ObjectId("53102b43bf1044ed8b0ba36b"),此时怎么查看日期时间呢?可以像下面一样操作:
ObjectId("53102b43bf1044ed8b0ba36b").getTimestamp();
此时我们便能够看到如下结果:
ISODate("2014-02-28T06:22:59Z");
另外需要说明的是,ObjectId是在客户端默认生成的,而不是服务端自己在插入文档时由服务端生成的。
0 0
- Mongodb中的ObjectId浅谈
- MongoDB中的_id和ObjectId
- MongoDB中的_id和ObjectId
- mongodb中的ObjectId类型主键
- MongoDB中的_id和ObjectId
- mongodb ObjectId
- java查询mongodb中的objectid示例
- MongoDB:18-MongoDB-ObjectId
- mongodb每条记录中的ObjectId组成结构
- MongoDB深究之ObjectId
- MongoDB深究之ObjectId
- MongoDB ObjectId的优化
- MongoDB深究之ObjectId
- MongoDB深究之ObjectId
- MongoDB深究之ObjectId
- MongoDB深究之ObjectId
- mongodb根据objectid修改
- java查询mongodb中的objectid示例(查询mongodb中的_id属性)
- android 多媒体编程(五) 调用系统播放器播放音乐/视频
- Shell脚本:1、文本处理的sed命令
- 66. Plus One
- 1017 Problem Q
- 正在相菜鸟进发,修炼中......java程序访问Sqlite数据库
- Mongodb中的ObjectId浅谈
- python中的三个读read(),readline()和readlines()
- RecyclerView使用:
- 最大子段和问题
- Linux下安装配置Redis
- PAT 1042. 字符统计(20)
- 训练3 习题1
- Android之使用JDBC连接数据库-使用jtds连接mySQL
- 通过getSystemServices获取手机管理大全