我有两个模特。
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 :(得分:0)
与引用模型有关的逻辑问题是查询当前用户的following_id的“关注者”:
Follower.where( following_id: user_id ).count()
请记住,尽管ODM提供了帮助以进行模拟,但所有MongoDB查询和操作一次只能在一个集合上执行。服务器上没有实际的“JOIN”,因此您可以最有效地处理查询模式。