最近工作需要,要使用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;
}

最新文章

  1. asp.net web api 的版本升级到 2.2的记录
  2. C++ 系列:静态库与动态库
  3. 《TCP/IP详解 卷一》读书笔记-----TCP连接建立
  4. 帝国cms栏目别名如何调用?
  5. ThinkPHP第十九天(Ueditor高亮插件、扩展函数载入load、静态缓存)
  6. GitHub使用(二) - 新建文件夹
  7. VUE学习笔记之vue cli 构建项目
  8. <A>标记onclick事件
  9. Redis Keys的通用操作
  10. 打印上三角或下三角矩阵(9x9) - perl, R
  11. UDP Health Checks
  12. Linux中profile
  13. UVALive 4725 Airport(二分)
  14. GBDT学习
  15. Android数据库大批量数据插入优化
  16. 【JS】【1】JavaScript屏蔽Backspace键(避免点击后页面产生回退)
  17. os.path和sys.path的区别
  18. nakadi 一款基于kafka 的http event broker
  19. Spring Boot 的 Security 安全控制
  20. Scrum立会报告+燃尽图(十一月二十一日总第二十九次):β阶段第二周分配任务

热门文章

  1. 【response-下载文件步骤】
  2. 分析apache日志,统计访问量
  3. C# dynamic json
  4. 解决 Java 调用 Azure SDK 证书错误 javax.net.ssl.SSLHandshakeException
  5. centos下如何停止ping命令
  6. Linux Loop设备 使用
  7. php字符集转换
  8. VC 在调用main函数之前的操作
  9. JavaScript AMD 与CMD的代码区别
  10. JavaScript 二维数组排列组合