flask - MongoDB存储的数据,标识怎样在URL显示的更简洁?
巴扎黑
巴扎黑 2017-04-22 08:59:58
0
5
661

Flask+MongoDB做的一个网站,文章管理块,Mongodb中以ObjectId作的标识,当浏览指定文章时现在以ObjectId作为标识,url形式如下:
/article/53219ebcbe238721a805d3fe/
ObjectId这截有没有好办法处理的更短,更优雅些?

巴扎黑
巴扎黑

Antworte allen(5)
阿神

看看这个:http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/

伊谢尔伦

ObjectId 12 字节共 96 比特信息量,使用 64 进制的话每位能提供 6 比特信息量,所以只需要 16 位 64 进制位。字母+数字共有 62 个字符,再找两个标点就可以了 :-)

刘奇

可以使用数字自增id
mongodb官方提供了自增id的解决方法,参看

http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/

主要原理是在数据库中新建了一个counter计数的collection,记录每个model的最大id,然后在save时更新id, 使用findAndModify中的$inc实现递增,$inc是原子操作。

阿神

新弄一个字段,用来存储ID,存储的时候,再截一下。

或者使用自订义的Slug。

大家讲道理

如果是接口类的,因为不会直接显示到浏览器地址栏,所以直接用ObjectId吧。
如果是显示文章,用:http://web/article/MongoDB存储的数据,标识怎样在URL显示的更简洁更好,更容易让人理解。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage