Flask MongoDB做的一個網站,文章管理塊,Mongodb中以ObjectId作的標識,當瀏覽指定文章時現在以ObjectId作為標識,url形式如下:
/article/53219ebcbe238721a805d3fe/
ObjectId這截有沒有好辦法處理的更短,更優雅些?
阿神2017-04-22 09:01:58
看看這個:http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/
伊谢尔伦2017-04-22 09:01:58
ObjectId 12 位元組共 96 位元資訊量,使用 64 進位的話每位能提供 6 位元資訊量,所以只需要 16 位元 64 進位位元。字母+數字共有 62 個字符,再找兩個標點就可以了 :-)
怪我咯2017-04-22 09:01:58
可以使用數位自增id
mongodb官方提供了自增id的解決方法,參考
http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/
主要原理是在資料庫中新建了一個counter計數的collection,記錄每個model的最大id,然後在save時更新id, 使用findAndModify中的$inc實現遞增,$inc是原子操作。
大家讲道理2017-04-22 09:01:58
如果是介面類別的,因為不會直接顯示到瀏覽器網址欄,所以直接用ObjectId吧。
如果是顯示文章,用:http://web/article/MongoDB存储的数据,标识怎样在URL显示的更简洁
更好,更容易讓人理解。