У меня есть две коллекции "кампании" и "посадочные места".
кампании
——————————————————————————————
'campaign_id' |'campaign_name'
——————————————————————————————
1 | Campaign 1
2 | Campaign 2
landingpages
—————————————————————————————————
'campaign_id' |'landingpage_name'
—————————————————————————————————
1 | Landing 1
2 | Landing 2
Я хочу выбрать и показать сборку формы данных 2 (такой же запрос соединения в sql)
——————————————————————————————————
'landingpage_name'|'campaign_name'
——————————————————————————————————
'Landing 1' | 'Campaign1'
'Landing 2' | 'Campaign2'
Как говорит Филипп, MongoDB не делает JOINs. +info Вам нужно выполнить соединение на уровне приложения или выполнить итерацию с помощью javascript в оболочке mongodb:
db.campaigns.find().forEach(
function(doc){
db.landingpages.find({campaign_id:doc.campaign_id},{landingpage_name:1}).forEach(
function(doc2){
print(doc.campaign_id,doc.campaign_name,doc2.landingpage_name);
}
)
}
)
MongoDB не делает JOINs - период. Когда вам нужно сопоставить данные из двух разных коллекций, вам необходимо выполнить соединение на уровне приложения.
Сначала запросите первую коллекцию.
Затем перебираем результаты и запрашиваем вторую коллекцию с результатом первого запроса.