Mongomapper: стиль SQL JOIN в запросах - PullRequest
0 голосов
/ 26 июля 2011

У меня есть две модели:

class TrackItem
  key :state, Integer, :default => 1

  many :track_jobs
end

class TrackJob
  key :invoke_at, Time

  belongs_to :track_item
end

Я хочу сделать запрос с объединением:

item = TrackItem.create(:state => 1)
item.track_jobs.create(:invoke_at => Time.now)

TrackJob.where("track_item.state" => 1).all # => []

Вернуть пустой массив. Где проблема?

MongoDB log:

MONGODB track_tweets_development['track_tweets.models.track_jobs'].find({:"track_item.state"=>1})

1 Ответ

0 голосов
/ 26 июля 2011

Я не знаком с Ruby, но попробуйте это:

TrackItem.where(:state => 1).first.track_jobs # => should result in all specified track_jobs (so the one you created at line 2)

Поскольку вы добавляете трек-задания в качестве встроенного документа, вы можете запросить (родительский) документ.Он будет автоматически содержать все ваши track_jobs.

...