問題は、Mongoidの has_many
親ドキュメントには何も残さないので、親ドキュメントに役立つクエリはありません。ただし、belongs_to :user Taskで :user_idを追加します Taskへのフィールド コレクション。それはあなたにこのような恐ろしいことを残します:
user_ids = Task.all.distinct(:user_id)
users = User.where(:id => user_ids).limit(10)
もちろん、 embeds_many :tasksがある場合
has_many :tasksの代わりに 次に、:tasksにクエリを実行できます users内 あなたが望むようにコレクション。 OTOH、これはおそらく他のものを壊すでしょう。
タスクを分離しておく必要がある場合(つまり、埋め込まれていない場合)、Userにカウンターを設定できます。 タスクの数を追跡し、次のように言うことができます:
User.where(:num_tasks.gt => 0).limit(10)