nodejs 如何做基于内容的url?
发布于 3个月前 作者 chloetina 648 次浏览 最后一次编辑是 2个月前 来自 问答

简而言之,如何将

/topic/54352f0b6709dd2f31829286

这种url变成比如:

/topic/hello-world

---- 2014.12.03更新---- 在网上找了这篇文章还不错和@alsotang的说法比较一致 文章引用

这个的概念就是另外创建一个字段, 每次根据内容同时生成一个唯一的标识即可。

9 回复

url不是你设计出来的吗?

@ryanking8215 是的,可以在路由做,但是有没有思路怎么让后台关联topicid呢? 如何保证 title的唯一性之类的?

在 topic 的表里面加个 plug 字段,比如 54352f0b6709dd2f31829286 的这个记录中,加个 plug 字段,值为 hello-world

title存之前检验唯一性。建一个name2id的cache,路由那层,取cache转换就成了。

@alsotang cnode也是这样做的吗?

@alsotang 恩,这样的话,slug字段是string格式,效率上和请求ObjectID 会不会有很大差别呢?

@chloetina 都是唯一索引,一样的

@chloetina 数据库的效率问题,在能利用索引的情况下根本不用考虑太多。除非真的访问量很大才需要帮这类索引考虑什么缓存问题,别想效率了。

回到顶部