选择并显示数据 2 集合 mongodb php


Select and show data 2 collection mongodb php

我有 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); 
      }
    )
  }
)