PHP操作Mongodb进行数据库集合文档复制至本地服务!

需求:把服务器mongo数据库,集合文档copy到本地

查手册:https://secure.php.net/manual/zh/book.mongo.php
getDBs($con1); //获取服务器端所有表
        foreach($dbs as $k1=>$v1){  
            $c = $this->getCollections($con1,$v1['name']);  //获取单个集合的所有文档
            foreach($c as $k2=>$v2){
                $res = $this->setCollection($con1,$v1['name'],$v2,$con2); //把服务端mongo数据库,集合文档复制到本地
            }
        }
}


     //获取所有数据库
    //传递mongo配置
   //返回所有数据库
    private function getDBs($con){ 
         $db = $con->listDBs();
         return $db['databases'];
         
    }

     //获取所有集合方法
    //传递mongo配置,单个数据库
   //返回所有此数据库下所有集合
    private function getCollections($con,$db){ 
         
         $collections = $con->$db->getCollectionNames();//循环获取单条数据库下的所有集合
         return $collections;
         
         
    }

     //获取所有文档插入$con2方法
    //copy数据库和集合文档
    //传递mongo配置,单个数据库,单个集合,复制到的第二个mongo配置
   //逐条进行读取插入,成功返回success,失败返回failed
    private function setCollection($con1,$db,$collection,$con2){//集合//使用游标获取所有文档    
            
        $cursor = $con1->$db->selectCollection($collection)->find();
        foreach ( $cursor as $k => $v ){      
            $result = $con2->$db->$collection->insert($v); #简单插入
            echo $result ? 'success' : 'failed';echo "
"; } } ?>
PHP操作Mongodb进行数据库集合文档复制至本地服务!_第1张图片
Paste_Image.png

你可能感兴趣的:(PHP操作Mongodb进行数据库集合文档复制至本地服务!)