mongodb - mongo中如何实现自增id,删除其中一个id后,所有id重新排序?
迷茫
迷茫 2017-05-02 09:26:01
0
2
777

想用id(1-n)记录博客文章发表的次序,在网上查找到一个方法,通过增加一个sequence表,但是这种方法有个缺点,就是一旦其中某篇文章删除后,其他id不会改变,求更好的方法

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
大家讲道理

您这种思路在MongoDB中估计比较难以实现。您这种思路源自在很多关系型数据库中提供了identity的计数器。

在MongoDB中,如果您需要对博客文章发表排序,是可以使用时间,或者其他的适合排序的"field"来进行排序的。

供参考。

Love Mongo! Have Fun!


-->戳我<--请戳左边,就在四月!赶紧报名吧!

MongoDB中文社区深圳用户大会开始报名啦!本论坛大神将在大会上隆重出台,发表演讲。此处有掌声!!!

漂亮男人

没理解错的话,你这个要求无论什么数据库都做不到啊。假设我现在有10000篇博客,我删除了第一篇,你要把后面9999篇文章都重新生成ID?如果一共有100w篇博客该怎么办?所以这个思路本身是不正确的。
如果要达到的目的只是记录文档发表的顺序,默认的_id使用ObjectId完全可以满足你的需求。ObjectId本身是递增的,排序即可。
关于ObjectId我写过一篇博客介绍相关的知识,有兴趣请戳这里。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板