2015-10-19 89 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。

回答