想用id(1-n)记录博客文章发表的次序,在网上查找到一个方法,通过增加一个sequence表,但是这种方法有个缺点,就是一旦其中某篇文章删除后,其他id不会改变,求更好的方法
业精于勤,荒于嬉;行成于思,毁于随。
您这种思路在MongoDB中估计比较难以实现。您这种思路源自在很多关系型数据库中提供了identity的计数器。
在MongoDB中,如果您需要对博客文章发表排序,是可以使用时间,或者其他的适合排序的"field"来进行排序的。
供参考。
Love Mongo! Have Fun!
-->戳我<--请戳左边,就在四月!赶紧报名吧!
MongoDB中文社区深圳用户大会开始报名啦!本论坛大神将在大会上隆重出台,发表演讲。此处有掌声!!!
没理解错的话,你这个要求无论什么数据库都做不到啊。假设我现在有10000篇博客,我删除了第一篇,你要把后面9999篇文章都重新生成ID?如果一共有100w篇博客该怎么办?所以这个思路本身是不正确的。如果要达到的目的只是记录文档发表的顺序,默认的_id使用ObjectId完全可以满足你的需求。ObjectId本身是递增的,排序即可。关于ObjectId我写过一篇博客介绍相关的知识,有兴趣请戳这里。
ObjectId
您这种思路在MongoDB中估计比较难以实现。您这种思路源自在很多关系型数据库中提供了identity的计数器。
在MongoDB中,如果您需要对博客文章发表排序,是可以使用时间,或者其他的适合排序的"field"来进行排序的。
供参考。
Love Mongo! Have Fun!
-->戳我<--请戳左边,就在四月!赶紧报名吧!
MongoDB中文社区深圳用户大会开始报名啦!本论坛大神将在大会上隆重出台,发表演讲。此处有掌声!!!
没理解错的话,你这个要求无论什么数据库都做不到啊。假设我现在有10000篇博客,我删除了第一篇,你要把后面9999篇文章都重新生成ID?如果一共有100w篇博客该怎么办?所以这个思路本身是不正确的。
如果要达到的目的只是记录文档发表的顺序,默认的_id使用
ObjectId
完全可以满足你的需求。ObjectId
本身是递增的,排序即可。关于ObjectId我写过一篇博客介绍相关的知识,有兴趣请戳这里。