Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
选择并显示data 2 collection mongodb php_Php_Mongodb - Fatal编程技术网

选择并显示data 2 collection mongodb php

选择并显示data 2 collection mongodb php,php,mongodb,Php,Mongodb,我有两个系列“活动”和“登陆页面” 战役 登陆页 我想在sql中选择并显示数据表单2集合相同的联接查询 —————————————————————————————————— 'landingpage_name'|'campaign_name' —————————————————————————————————— 'Landing 1' | 'Campaign1' 'Landing 2' | 'Campaign2' MongoDB不做连接-句点。当需要关联来自两个不同集合

我有两个系列“活动”和“登陆页面”

战役

登陆页

我想在sql中选择并显示数据表单2集合相同的联接查询

——————————————————————————————————
'landingpage_name'|'campaign_name'
——————————————————————————————————
    'Landing 1'   | 'Campaign1'
    'Landing 2'   | 'Campaign2'

MongoDB不做连接-句点。当需要关联来自两个不同集合的数据时,需要在应用程序层上进行连接

首先查询第一个集合


然后循环查询结果并使用第一次查询的结果查询第二个集合。

正如Philipp所说,MongoDB不进行连接。您需要在应用程序层上进行连接,或者在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); 
      }

    )
  }

)

谢谢菲利普。您正在这里编写示例代码吗?如果使用循环。如果我想选择10个集合并循环10个集合?。这对表演有好处吗?谢谢冈萨雷斯。但是我编写php代码。你能把javascript转换成php吗?
——————————————————————————————————
'landingpage_name'|'campaign_name'
——————————————————————————————————
    'Landing 1'   | 'Campaign1'
    'Landing 2'   | 'Campaign2'
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); 
      }

    )
  }

)