例如,假设在设计博客应用程序时我想要类似
domain.com/post/729
代替
domain.com/post/4f89dca9f40090d974000001
Ruby有以下内容
https://github.com/hakanensari/mongoid-slug
Node.js中是否有等效项?
最佳答案
有几种方法:
1-假设您尝试为每个博客帖子提供唯一的ID。
为什么不覆盖博客集中的文档的'_id'字段?
样本文件为:
{ "_id" : 122 , "content" : { "title: ..... }
但是,您将必须寻找一种生成自动增量ID的方法,这非常简单。
但是,不建议使用这种类型的主键。
http://www.mongodb.org/display/DOCS/How+to+Make+an+Auto+Incrementing+Field
2-让_id字段保持原样,并另外存储一个 key 'blogid',它是一个整数,尽管您需要快速通过blogid进行访问,但您将不得不在'blogid'字段上运行
ensureIndex
。存储开销很小,因为您将在文档中存储一个键名和一个整数。样本文件为:
{ "_id" : xxxxxxxxxx ,"blogid" : 122, "content" : { "title: ..... }