2015-10-19 64 views
0

多层次的单表继承不正确的值在我的项目,我有以下的类层次结构,使用Mongoid与STI:查询返回使用Mongoid

class User 
    include Mongoid::Document 
end 

class SpecificUser < User 
end 

class MoreSpecificUser < SpecificUser 
end 

Mongoid给了我正确的结果,当我查询User.countMoreSpecificUser.count ,但当我尝试SpecificUser.count时返回0 。只有在我查询MoreSpecificUser.count之后,它才会为SpecificUser.count返回正确的值 。有没有办法让SpecificUser中的查询返回正确的值 而不查询它的子类?

注意:它之前使用过MongoMapper,它在我迁移到Mongoid后才破坏。

我mongoid.yml:

development: 
    clients: 
    default: 
     database: dev_project 
     hosts: 
     - 127.0.0.1:27017 
     options: 
     preload_models: true 
     max_pool_size: 16 
    options: 
    raise_not_found_error: false 

我使用Mongoid 5,MongoDB的2.6和Ruby 2.2.2和Rails 4.2.4。

回答