Тема: Складний запит з декількох колекцій в MongoDB
Вітаю.
Маю таку ось діаграму
У нас є багато різних компаній. Кожна компанія може мати кільканадцять рекламщиків (Advertiser) асоційованих з нею. Кожен рекламщик, в свою чергу, може мати кільканадцять брендів асоційованих з цим рекламщиком. Бренди ж можуть мати багацько рекламних кампаній (Campaign), а ці рекламні кампанії можуть мати різну кількість стратегій (Strategy).
Мені треба витягнути інфу про кампанії (Campaign), котрі стосуються певної компанії (Company), але також мені треба витягнути ім'я рекламщика та бренду, котрі асоціюються з певною кампанією, а ще треба показати "статус" компанії, котрий обраховується беручи до уваги статуси всіх стратегій, котрі стосуються цієї кампанії (Campaign).
Тобто, кінцевий результат має виглядати якось тако:
на вхід отримуємо id компанії (Company), а на вихід табличку з такими полями
Campaign name, Advertiser name, Brand name, Campaign status.
********************************
Маю кілька ідею, але вона якась складна та заплутана...
Якщо нам треба саме кампанії, то перший запит повинен бути саме до кампаній, але кампанії не мають на собі id компанії, котрої стосуються, тому нам треба проходитись по кожній кампанії, далі шукати бренд, в межах котрого вона була запущена, і потім брати company_id з цього бренду, і перевіряти, чи він рівний тому company_id, який ми отримали на вхід, ну і далі вже відштовхуватись від об'єкту бренду, бо він пов'язує кампанію, компанію, рекламщика та стратегії.
Але запит буде ой який складний (а може ні?), і я ще ніяк не можу розібратись, як його скласти...
********************************
Ще ідея є - поки застосунок ще в розробці, то може краще чіпляти тим кампаніям (Campaign) company_id, аби потім швидко знайти лише ті кампанії, котрі нас цікавлять. І так, як рекламщики та бренди мають на собі company_id, то розібратись з ними буде легко.
Шо думаєте?