我有 2 个集合"活动"和"登陆页面"。
活动
——————————————————————————————
'campaign_id' |'campaign_name'
——————————————————————————————
1 | Campaign 1
2 | Campaign 2
登陆页面
—————————————————————————————————
'campaign_id' |'landingpage_name'
—————————————————————————————————
1 | Landing 1
2 | Landing 2
我想选择并显示数据表单 2 集合(sql 中的相同连接查询)
——————————————————————————————————
'landingpage_name'|'campaign_name'
——————————————————————————————————
'Landing 1' | 'Campaign1'
'Landing 2' | 'Campaign2'
MongoDB不做JOINs - period。当您需要关联来自两个不同集合的数据时,需要在应用程序层上执行联接。
首先查询第一个集合。
然后循环遍历结果,并使用第一个查询的结果查询第二个集合。
正如Philipp所说,MongoDB不做JOINs。 +信息 您需要在应用程序层上进行连接或在mongodb shell上使用javascript进行迭代:
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);
}
)
}
)