Поиск по нескольким коллекциям в MongoDB
Я знаю теорию MongoDB и тот факт, что она не поддерживает объединения, и что я должен использовать вложенные документы или максимально денормализовать, но здесь идет речь:
У меня есть несколько документов, таких как:
Пользователи, которые встраивают Suburbs, но также имеют: имя, фамилиюПригороды, в которые встраиваются штатыРебенок, который встраивает Школу, принадлежит Пользователю, но также имеет: имя, фамилиюПример:
Users:
{ _id: 1, first_name: 'Bill', last_name: 'Gates', suburb: 1 }
{ _id: 2, first_name: 'Steve', last_name: 'Jobs', suburb: 3 }
Suburb:
{ _id: 1, name: 'Suburb A', state: 1 }
{ _id: 2, name: 'Suburb B', state: 1 }
{ _id: 3, name: 'Suburb C', state: 3 }
State:
{ _id: 1, name: 'LA' }
{ _id: 3, name: 'NY' }
Child:
{ _id: 1, _user_id: 1, first_name: 'Little Billy', last_name: 'Gates' }
{ _id: 2, _user_id: 2, first_name: 'Little Stevie', last_name: 'Jobs' }
Поиск, который я должен осуществить, находится на:
имя, фамилия пользователей и детейСостояние от пользователейЯ знаю, что мне нужно сделать несколько запросов, чтобы это сделать, но как этого достичь? С mapReduce или агрегат?
Можете ли вы указать решение, пожалуйста?
Я пытался использовать mapReduce, но я не получил документы от пользователей, которые содержали state_id, поэтому я поднял его здесь.