2014-09-10 83 views
0

我有两个模型。如何在Mongoid中获得has_many belongs_to关系的总和?

user.rb 
----- 
has_many :followers 

follower.rb 
----- 
belongs_to :user 

field following_id :user_id, type: String 

我试图找到最多关注者的前10位用户。

理想情况下是这样的:

User.all.order_by(:followers_count)或类似的东西。

任何人都有关于如何产生该查询的任何见解?

回答

0

做一个参考模型的逻辑就是要查询当前用户的following_id的“追随者”你正在寻找:

Follower.where(following_id: user_id).count() 

记住,尽管帮助下由ODM给另外模拟,所有的MongoDB查询和操作一次只能在一个集合上执行。在服务器上没有实际的“JOIN”,所以你最有效地处理你的查询模式。

相关问题