2014-09-10 45 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」,所以你最有效地處理你的查詢模式。

相關問題