首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Mongoid的多级单表继承查询返回不正确的值

使用Mongoid的多级单表继承查询返回不正确的值
EN

Stack Overflow用户
提问于 2015-10-20 02:17:25
回答 1查看 51关注 0票数 0

在我的项目中,我有如下的类层次结构,使用带有STI的Mongoid:

代码语言:javascript
复制
class User
  include Mongoid::Document
end

class SpecificUser < User
end

class MoreSpecificUser < SpecificUser
end

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

注意:它以前使用过MongoMapper,只是在我迁移到Mongoid之后才崩溃的。

我的mongoid.yml:

代码语言:javascript
复制
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

我使用的是Mongoid5、Ruby2.6、MongoDB 2.2.2和Rails 4.2.4。

EN

回答 1

Stack Overflow用户

发布于 2015-10-20 20:29:06

在application.rb中添加config.mongoid.preload_models = true似乎可以解决这个问题。

http://docs.mongodb.org/ecosystem/tutorial/ruby-mongoid-tutorial/#model-preloading

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33221212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档