mongo中如何实现自增id,删除其中一个id后,所有id重新排序?

发布于 2022-09-04 19:05:51 字数 164 浏览 24 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

画中仙 2022-09-11 19:05:51

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

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

供参考。

Love Mongo! Have Fun!


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

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

何止钟意 2022-09-11 19:05:51

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文