zoukankan      html  css  js  c++  java
  • 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 MongoDBBSONObjectID($origin_id);  // $origin_id 为记录中的id
    $query = array('_id' => $id); // $query为普通查询语句查询条件,利用该条件,就可以查询出 _id 为指定 id 的记录

    问题2: 如何删除一个 collection

    function drop_collection($db,$collection){
            $manager = new MongoDBDriverManager('mongodb://'.$your_hosts.'/', $your_options); // 这里需要换为你的host option
            try{
                $server  = $manager->selectServer( new MongoDBDriverReadPreference( MongoDBDriverReadPreference::RP_PRIMARY ) );
                $result  = $server->executeCommand( $db, new MongoDBDriverCommand(["drop" => $collection])); // 这句是实现的关键,注意格式
            }catch(Exception $E){
               return $E;
            }
    
            return $result;
    }
  • 相关阅读:
    [网络流24题] 深海机器人问题
    [网络流24题] 数字梯形问题
    处理银行卡号的格式
    每天十点的倒计时
    HTML meta标签总结与属性使用介绍
    禁止的一些操作
    input输入大于0的小数和整数
    cf 1037D BFS
    cf 1051F 树+图
    cf 911F 树的直径+贪心
  • 原文地址:https://www.cnblogs.com/smallrookie/p/6827066.html
Copyright © 2011-2022 走看看