关于多态集合的mongoid索引

时间:2013-07-25 00:06:21

标签: ruby-on-rails mongoid

尝试找出在mongoid

中为多态关联添加索引的最佳方法

我有

class User
  include Mongoid::Document

class Student < User
  include Mongoid::Document

class Parent < User
  include Mongoid::Document

当mongoid创建数据时,它会创建一个_type字段

Parent
{
"_id" : ObjectId("51f06367b5b60561d0000003"),
"_type" : "Parent"
}

我想搜索类型。例如Student.all并注意到explain()没有mongoid创建的implict索引。

为了解决这个问题,我在User类

中添加了一个索引
index({ _type: 1 })

想知道有没有办法让mongoid自动创建索引? 或者除了在User模型上添加索引之外,还有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

这里有一个子类,而不是Mongoid文档中提到的多态。但是,没有自动化的方式。建议使用手动添加索引,因此您需要全部设置!

http://mongoid.org/en/mongoid/v3/documents.html#inheritance