使用Mongoid限制查询中的嵌入文档

时间:2010-10-12 20:49:46

标签: ruby-on-rails mongodb mongoid nosql

我正在写一个快速的小钱跟踪rails应用程序,以便用户输入他们的日常账单。我有一个用户embeds_many:账单。

我正在使用Devise进行身份验证。这是我的问题。当我每次从session_id获取current_user时,它会引入我的整个用户并且其嵌入的文档是否正确?因此,当账单加起来时,我的用户对象将变得越来越大。

我想知道是否有任何方法可以限制这一点,以便我的current_user查找不会获取嵌入式文档,否则我认为将这些帐单嵌入用户中是不合理的,而是使用关系在一个单独的账单集合。

有人对此有任何想法吗?

1 个答案:

答案 0 :(得分:0)

我喜欢将一个用户对象绑定到Devise的概念,以及一个定义该用户属性和信息的Profile对象。

因此,您的用户将拥有个人资料,而该个人资料将包含嵌入式帐单。

通过这种方式,您只需在需要时获取配置文件信息,这可能是常见的,但不会是每个页面加载。