pcel安装的mongodb的两个问题的解决方案

Posted talk is cheap, show me the cod

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pcel安装的mongodb的两个问题的解决方案相关的知识,希望对你有一定的参考价值。

  最近工作需要,要使用mongodb,这个是使用 pecl 安装的,跟标准的 mongo 使用还是有区别的,这里不讲区别,只讲两个比较典型的问题该如何处理,具体的文档大家可以直接参考 php 的官方文档:http://php.net/manual/zh/book.mongodb.php 

问题1: mongodb如何使用 _id 查询记录:

这里的id,是我们在插入一条记录时,mongo自动生成的id。

(1)从记录从获取id

function get_oid($query_result = array()){ // 这里的 $query_result 是查询到的一条记录
        if(empty($query_result)){
            return false;
        }else{
            $id_obj = $query_result[‘_id‘];
            $id_array = get_object_vars($id_obj);
            return $id_array[‘oid‘];
        }
}

(2)从 _id 查询相关记录

$id = new MongoDB\BSON\ObjectID($origin_id);  // $origin_id 为记录中的id
$query = array(‘_id‘ => $id); // $query为普通查询语句查询条件,利用该条件,就可以查询出 _id 为指定 id 的记录

 

问题2: 如何删除一个 collection

function drop_collection($db,$collection){
        $manager = new MongoDB\Driver\Manager(‘mongodb://‘.$your_hosts.‘/‘, $your_options); // 这里需要换为你的host option
        try{
            $server  = $manager->selectServer( new MongoDB\Driver\ReadPreference( MongoDB\Driver\ReadPreference::RP_PRIMARY ) );
            $result  = $server->executeCommand( $db, new MongoDB\Driver\Command(["drop" => $collection])); // 这句是实现的关键,注意格式
        }catch(Exception $E){
           return $E;
        }

        return $result;
}

 

以上是关于pcel安装的mongodb的两个问题的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

有关Mongodb 在windows上安装的问题

同一个手机下载安装两个代驾司机端后台能检测出来吗?

windows安装MongoDB进度条卡住,window安装mongo系统错误 2,系统错误5的解决办法

解决安装mongodb时,出现服务名无效问题。

linux安装mongodb数据库./mongod -f mongodb.conf失败或者error

Linux系统安装NoSQL(MongoDB和Redis)步骤及问题解决办法