MongoDB评论系统Slug,它的用途是什么?

Ida*_*ter 6 slug mongodb

我正在阅读关于如何在这里建立数据库评论系统的MongoDB教程.一条评论文件包含以下信息:

{
    _id: ObjectId(...),
    discussion_id: ObjectId(...),
    parent_id: ObjectId(...),
    slug: '34db/8bda'
    full_slug: '2012.02.08.12.21.08:34db/2012.02.09.22.19.16:8bda',
    posted: ISODateTime(...),
    author: {
              id: ObjectId(...),
              name: 'Rick'
             },
    text: 'This is so bogus ... '
}
Run Code Online (Sandbox Code Playgroud)

我似乎无法理解的是什么,slug并且full_slug是,不能从文档的理解.

udi*_*idu 9

对于我的观点,它看起来像某种URL快捷方式来获取注释,例如,当您键入时:http://site.com/34db/8bda它将为您 带来注释本身,full-slug用于在发布时对注释进行排序和排序.


Vol*_*erM 5

基本上,只是“使用人类可读的关键字标识”对象的URL的“一部分”(请参阅Wikipedia“语义URL”

MongoDB用例文档“存储评论”中,每个评论都有一个唯一的简短“子部分”,可以将其视为一种替代的,独立于数据库的ID。slug然后,通过将所有评论的所有子句部分与讨论线程层次结构链接在一起,以形成指向实际评论的路径,从而构建评论文档的字段。基本上,也可以通过加入以斜杠分隔的所有(父)注释的ID的字符串表示形式来构建它。但是那样的话,它将变得更长,更难以理解,并且在某种程度上更依赖于底层的MongoDB数据库。

full_slug字段的slug格式如上所述,但每个子段部分均以其相关注释的创建日期和时间作为前缀。这似乎是必要的,或者至少有利于一次按讨论线程和日期执行排序的查询。该full_slug字段仅用于实现按讨论主题和日期排序的查询。