私はMongoidを使用しており、プロジェクトとユーザーモデルがあります。プロジェクトモデルには、フィールドがあります
class Project
include Mongoid::Document
field :name
field :user_ids, :type => Array
end
class User
include Mongoid::Document
field :email
end
1つのプロジェクトに属するすべてのユーザーを見つけることができます。つまり、「このプロジェクトのユーザーを見つける」
@project = Project.first # => 'Housework'
User.criteria.id(@project.user_ids) # => ['Bart','Lisa','Maggie']
しかし、1人のユーザーに属するすべてのプロジェクトを見つけるのに少し問題があります。つまり、「このユーザーのプロジェクトを見つける」
@user = User.first # => 'Bart'
Project.where(:user_ids => @user.id) # doesn't work
Project.where(:user_ids.includes => @user.id) # not such method
Project.where(:user_ids => [@user.id]) # doesn't make sense to compare arrays, but tried anyway and doesn't work
Userモデルにproject_idsを格納するための別のフィールドを含めることができることは知っていますが、喜んでそうしますが、興味があるのは、#includesと同様に機能するファインダー条件で使用する方法がありますか?ルビーで?