問題は、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)