想用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我寫過一篇部落格介紹相關的知識,有興趣請戳這裡。