Запрос MongoID для коллекции, которая ссылается на коллекцию, которая ссылается на коллекцию - PullRequest
1 голос
/ 06 февраля 2011

У меня есть модель User, модель Workout и модель Exercise. Я использую Devise для управления пользователями и MongoID для взаимодействия с MongoDB.

Пользователь reference_many: тренировки
Тренировка reference_many: упражнения и referenced_in: пользователь
Упражнение referenced_in: тренировка

Как запросить базу данных, чтобы получить список всех current_user упражнений. Я не сохранил user.id в коллекции упражнений, только workout.id.

Возможно ли, или я должен переработать модель, чтобы сохранить user_id в коллекциях упражнений и тренировок?

Спасибо

1 Ответ

2 голосов
/ 06 февраля 2011

Примерно так:

workout_ids = Workout.where (: user_id => current_user.id) .all.collect {| w |w.id}

упражнения = Exercise.where (: workout_id => {"$ in" => workout_ids})

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...