• 奔奔奔跑
    2020-01-22
    用电脑看视频入迷了,哈哈,都忘了还有留言栏可以与老师交流了。
    老师,我有个问题要请教,按理来说mongodb的objectID是时间戳+机器码+PID+计数器构成的,按理来说我用(sort:_id)进行排序,新插入的数据排序出来应该在最后才对,但是为何我有几次看到新插入的数据排序在旧数据之前。请问这是为什么?如果没有问题的话,那是不是就意味着不能用objectID作为时间排序的索引了?希望老师能够解答,谢谢唐老师了!

    作者回复: 最后一个不是计数器,是随机数

    纠正上面的内容,ObjectID的格式有所修改:

    ObjectID有12个bytes,分别为:

    - 4个字节的timestamp(精确到秒)
    - 5个字节的随机数
    - 3个字节的计数器

    MongoDB并未在文档中提到保证这个_id的顺序性。不过实际上如果在同一个客户端进程,应该是有这种顺序性的。
    你把你的流程贴出来看一下





    
     2
  • walker
    2020-01-20
    请问 mongoDB 可以定义类似 MySQL 的 create_time 和 update_time 字段吗?

    作者回复: 可以参考 $currentDate

    https://docs.mongodb.com/manual/reference/operator/update/currentDate/

    
     1
  • 注意力$
    2020-02-03
    唐老师,MongoDB 磁盘目录清理的话,是直接删除集合吗?删除集合部分数据,可以释放空间吗?谢谢

    作者回复: 不能。必须删除整个集合才会回收

    
    
  • 月迷津渡
    2020-01-27
    请问下老师 一般范围查询比如年龄4-18的查询 B+树是用叶子节点的链表遍历,那mongodb怎么做的呢?是用B树做类似于2茶树的中序遍历么?

    作者回复: mongodb用的就是B+树,如你所述在叶子节点层遍历。

    
    
  • 奔奔奔跑
    2020-01-22
    感谢老师的回复,假期了还这么负责太感动了。但是我还是觉得有疑惑,MongoDB应该可以用objectID来排序吧,虽然最后的是随机数,但是时间戳在前面,新插入数据肯定比旧数据要大吧

    作者回复: 已修改原回复内容。

    
    
我们在线,来聊聊吧