Ruby on rails 带有多对多where子句的Rails Mongoid搜索

Ruby on rails 带有多对多where子句的Rails Mongoid搜索,ruby-on-rails,mongodb,ruby-on-rails-4,mongoid,Ruby On Rails,Mongodb,Ruby On Rails 4,Mongoid,我有“Vaga”: vaga.rb class Vaga include Mongoid::Document has_and_belongs_to_many :areas, autosave: true class Area include Mongoid::Document has_and_belongs_to_many :vagas 因此: #<Vaga _id: 5524940d706f6c09180c0000, area_ids: [BSON::Object

我有“Vaga”:

vaga.rb

class Vaga
  include Mongoid::Document

  has_and_belongs_to_many :areas, autosave: true
class Area
  include Mongoid::Document

  has_and_belongs_to_many :vagas
因此:

#<Vaga _id: 5524940d706f6c09180c0000, area_ids: [BSON::ObjectId('5524939b706f6c09180b0000'), BSON::ObjectId('5436721b706f6c0918cf0000')], titulo: "Ruby on Rails developer">
我怎样才能得到一系列“区域”的所有“vagas”

我正在尝试这个:

vagas = Vaga.all('areas.id' => '5524939b706f6c09180b0000')
但是它不起作用

你可以试试这个

vagas = Vaga.where(area_ids: ['5524939b706f6c09180b0000'])

area = Area.where(id: '5524939b706f6c09180b0000').first
vagas = area.vagas
希望这有帮助

你可以试试这个

vagas = Vaga.where(area_ids: ['5524939b706f6c09180b0000'])

area = Area.where(id: '5524939b706f6c09180b0000').first
vagas = area.vagas
希望这有帮助

你可以试试这个

vagas = Vaga.where(area_ids: ['5524939b706f6c09180b0000'])

area = Area.where(id: '5524939b706f6c09180b0000').first
vagas = area.vagas
希望这有帮助

你可以试试这个

vagas = Vaga.where(area_ids: ['5524939b706f6c09180b0000'])

area = Area.where(id: '5524939b706f6c09180b0000').first
vagas = area.vagas
希望这有帮助