背景:我有帖子和用戶,都是HABTM社區。在我的崗位模型中,我有一個比較多少社區計算後的相關性給定用戶的方法,他們的共同點是這樣的:虛擬屬性Mongoid查詢數據庫
def relevance(user)
(self.communities & user.communities).length
end
目的:要查詢的帖子或者通過給定的相關性,即
Post.where(:relevance => 3)
或
查詢所有帖子,並通過相關性,即
Post.all.desc(:relevance)
對它們進行排序
我知道用戶變量需要在那裏,只是想知道這樣的事情是否可能或者是否存在解決方法。
我擔心你無法直接做到這一點。但是你可以使用一些map/reduce處理。 – apneadiving
你可以擴大一點我不確定你想要完成什麼。相關性在哪裏計算?它是否已經存在於文檔中? – Sammaye
相關性是作爲post.rb中的一種方法計算的(參見上面的代碼),因爲它對每個用戶都不相同,必須在運行中進行計算。 – neon