【发布时间】:2020-09-30 12:27:59
【问题描述】:
我有两个模型,案例和案例状态
class Case
has_many :case_statuses, dependent: :destroy
...
class CaseStatus
belongs_to :case, index: true, inverse_of: :case_statuses
在查询中使用 .includes 似乎对触发的 mongo 查询数量没有影响。
ids = [# 10 random ids]
# this fires 11 queries
Case.where(:id.in => ids).includes(:case_statuses).collect{|x| x.case_statuses.count}
# this also fires 11 queries
Case.where(:id.in => ids).collect{|x| x.case_statuses.count}
我做错了吗?我在阅读 Mongoid 7 文档时的预期是急切加载会导致 1 个查询。
感谢您的帮助, 凯文
【问题讨论】:
标签: ruby-on-rails mongodb mongoid eager-loading