大部分的人都不太喜欢 mongodb 那一长串 id,都会选择自己去重写 id 为更具亲和力的自增数字。 发现了一个比较好用的 gem,可以帮我们完成这项工作。 使用 auto_increment 来指定自增字段。 详细的用法 github 上有说明: 地址 https://github.com/jffjs/mongoid_auto_inc
额,其实可以用我写这个更佳靠谱些,我这个是直接内部处理用的是 id 字段,你只用在 Gemfile 里面引用,无需做别的操作。用起来就感觉不存在一样
https://github.com/huacnlee/mongoid_auto_increment_id
BTW. Ruby China 目前就在用这个。
我还在纠结要不要用这个自增 id,既然 mongoid 把这个自增 id 去掉,后来人又要麻烦地把它加上去,不如用 permalink 的 seo 链接
@huacnlee 在 mongoid 的文档中有一个重写:_id
的字段,用的时候不会有冲突吧?
For cases when you do not want to have BSON::ObjectId ids, you can override Mongoid's _id field and set them to whatever you like.
class Band
include Mongoid::Document
field :name, type: String
field :_id, type: String, default ->{ name }
end
有人改了 mongoid_auto_inc,适配了 mongoid 3 以上,哈哈哈 https://github.com/proton/mongoid_auto_increment