mysql で rails 3.1.11 を使用しています。User(name, role, city) と Project(name) モデルを考えてみましょう。「Pune」から「admin」ロール、または「Mumbai」から「manager」ロールを持つユーザーを収集したいと考えています。
User
has_and_belongs_to_many :projects, uniq: true
Project
has_and_belongs_to_many :users, uniq: true
使用するクエリは
users = []
users << User.where(role: 'admin', location: 'Pune')
users << User.where(role: 'manager', location: 'Mumbai')
Project.first.users << users
2つのクエリを起動します。上記のデータを 1 回の呼び出しで収集するにはどうすればよいですか? Mongoid には、同様のクエリ用のany_ofがあります。http://two.mongoid.org/docs/querying/criteria.html#any_of . すべてのユーザーを収集してからフィルター処理することは好みません。