我已经为用户嵌入了所有活动,让我们说大多数用户都有成千上万的与之相关的活动。检查控制器代码中的 current_user 时,Mongoid是否会加载包含所有嵌入式活动记录的整个用户对象?我的直觉告诉我没有,但我真的想确认它,所以我晚上睡得更好。 :)谢谢!
以下是User类的简短版本。
class User
include Mongoid::Document
embeds_many :activities
end
修改
让我澄清为什么我特别想知道在使用current_user时是否加载了整个对象。由于活动嵌入在用户文档中,并且大多数用户拥有数千条记录,如果我只想检查用户是否已登录,则每次满载都会很昂贵。
答案 0 :(得分:1)
烨。在进行身份验证时,设计会请求整个模型,因此如果您致电activities
,Mongoid会授予您访问current_user.activities
的权限。