V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
whereabouts
V2EX  ›  程序员

顺序插入几万条数据到 MongoDB 未经修改 此时自动生成的_id 是不是越来越大的?

  •  
  •   whereabouts · 2018-07-02 19:13:13 +08:00 · 1961 次点击
    这是一个创建于 2096 天前的主题,其中的信息可能已经有所发展或是发生改变。
    发现_id 是 bson.objectid 类型,可以用运算符比较大小,数据仓库写代码的时候忘记加.sort()排序就拿到_id 用了,想问下自动生成_id 的规则是不是越来越大的,是的话就不用回头再改程序了。。
    数据是顺序插入的,没有修改过。
    4 条回复    2018-07-03 14:04:09 +08:00
    csuzhangxc
        1
    csuzhangxc  
       2018-07-02 19:31:23 +08:00   ❤️ 1
    conn4575
        2
    conn4575  
       2018-07-02 22:11:07 +08:00   ❤️ 1
    是的,mongo 的 id 里面带有时间戳属性,所以可以保证越来越大,具体看一楼文档
    my3157
        3
    my3157  
       2018-07-03 02:23:51 +08:00
    copy from #1 url

    ```
    a 4-byte value representing the seconds since the Unix epoch,
    a 3-byte machine identifier,
    a 2-byte process id, and
    a 3-byte counter, starting with a random value.

    ```

    以上顺序拼起来之后 hex 就是常见到的 `5b375b5c44edb42181e15bbd`
    dlllcs
        4
    dlllcs  
       2018-07-03 14:04:09 +08:00
    并不是,同一秒同一机器的无法区分顺序,时间戳只保存到秒
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3685 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 00:52 · PVG 08:52 · LAX 17:52 · JFK 20:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.