签到成功

知道了

CNDBA社区CNDBA社区

MongoDB ObjectId 格式说明

2022-04-28 20:20 1262 0 原创 MongoDB
作者: dave

MongoDB每个集合都会有一个”_id” 列,并作为集合的主键。

在对集合插入文档时,可以指定 _id 的键值,也可以不指定。 在没有指定的情况下,默认会自动将ObjectId类型的值记入。

> db.dave.insert({"_id":"1","name":"dave"})
WriteResult({ "nInserted" : 1 })
> db.dave.find()
{ "_id" : "1", "name" : "dave" }
>

> db.website.insert({"name":"cndba","url":"https://www.cndba.cn"})
WriteResult({ "nInserted" : 1 })
> db.website.find()
{ "_id" : ObjectId("6268f300c8ab12bc7b3c2fde"), "name" : "cndba", "url" : "https://www.cndba.cn" }
{ "_id" : ObjectId("626902e8c8ab12bc7b3c2fdf"), "name" : "cndba", "url" : "https://www.cndba.cn" }
>
> db.website.getIndexes()
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]
>

ObjectId是由12个字节组成的字符串,每个字节是两位十六进制的数字,所以ObjectId是一个24位长度的字符长。http://www.cndba.cn/cndba/dave/article/107953http://www.cndba.cn/cndba/dave/article/107953http://www.cndba.cn/cndba/dave/article/107953

http://www.cndba.cn/cndba/dave/article/107953
http://www.cndba.cn/cndba/dave/article/107953

ObjectId的12个字节含义如下:http://www.cndba.cn/cndba/dave/article/107953http://www.cndba.cn/cndba/dave/article/107953http://www.cndba.cn/cndba/dave/article/107953

4个字节 | 3个字节 | 2个字节 | 3个字节http://www.cndba.cn/cndba/dave/article/107953

从前往后的含义依次是:

4个字节:服务器的时间戳,单位是秒
3个字节:Mongodb所在机器的机器识别码
2个字节:表示生成该文档的进程ID
3个字节:随机数

从ObjectId中获取操作时间:

> ObjectId("6268f300c8ab12bc7b3c2fde").getTimestamp().toLocaleString();
Wed Apr 27 15:38:40 2022

将ObjectId转换为String的查询-http://www.cndba.cn/cndba/dave/article/107953

> ObjectId("6268f300c8ab12bc7b3c2fde").toString();
ObjectId("6268f300c8ab12bc7b3c2fde")
> typeof ObjectId("6268f300c8ab12bc7b3c2fde").toString();
string
>

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2283
    原创
  • 3
    翻译
  • 579
    转载
  • 196
    评论
  • 访问:8185655次
  • 积分:4428
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ