背景:我有帖子和用户,都是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