suchen

Heim  >  Fragen und Antworten  >  Hauptteil

flask - MongoDB存储的数据,标识怎样在URL显示的更简洁?

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

巴扎黑巴扎黑2764 Tage vor645

Antworte allen(5)Ich werde antworten

  • 阿神

    阿神2017-04-22 09:01:58

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

    Antwort
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-22 09:01:58

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

    Antwort
    0
  • 怪我咯

    怪我咯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是原子操作。

    Antwort
    0
  • 阿神

    阿神2017-04-22 09:01:58

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

    或者使用自订义的Slug。

    Antwort
    0
  • 大家讲道理

    大家讲道理2017-04-22 09:01:58

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

    Antwort
    0
  • StornierenAntwort