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;
}
时间: 2024-10-01 22:26:47

pcel安装的mongodb的两个问题的解决方案的相关文章

CentOS7安装LNMP+Mongodb环境

CentOS 7   MySQL 5.7.10   Mongo 3.2.1   Nginx 1.8.0   PHP 5.5.31  Redis 3.0.6 ====================================== CentOS configsystemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动 yum install -y iptables-

Win10 安装配置 MongoDB 4.0 踩坑记

redis 官方没有 Windows 版的,微软维护的已经好久没更新了,所以就在想着换成 MongoDB. 于是一趟被我复杂化的踩坑之旅就开始了,同时也记录一下,避免有人遇见跟我一样的问题. 首先在 官网 上下载 msi 安装包开始安装.   我不喜欢把软件装在系统盘,所以我选择 Custom,自己选要装在哪里,然后就跳出来下面这张图.针对下面这张图我翻译一下官方文档上的内容作为解释.  从 MongoDB 4.0 开始,默认情况下,你可以在安装期间配置和启动 MongoDB 作为服务,并在成功

Linux下安装配置MongoDB数据库

说明: 操作系统:CentOS 5.X 64位 IP地址:192.168.21.130 实现目的: 安装配置MongoDB数据库 具体操作: 一.关闭SElinux.配置防火墙 1.vi /etc/selinux/config #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINUX=disabled #增加 :wq!  #保存退出 setenforce 0 #使配置立即生效 2.vi /etc/sysconfig/iptables  

Linux下PHP安装配置MongoDB数据库连接扩展

说明: 操作系统:CentOS 5.X 64位 MongoDB数据库服务器: IP地址:192.168.21.130 Web服务器: IP地址:192.168.21.127 PHP安装路径:/usr/local/php 实现目的: 安装PHP的MongoDB数据库扩展,通过PHP程序连接MongoDB数据库 具体操作: 一.安装PHP的MongoDB数据库扩展(在Web服务器192.168.21.127上操作) 下载地址:http://pecl.php.net/get/mongo-1.5.1.t

Eclipse 安装 SVN 插件的两种方法

eclipse里安装SVN插件,一般来说,有两种方式: 直接下载SVN插件,将其解压到eclipse的对应目录里 使用eclipse 里Help菜单的"Install New Software",通过输入SVN地址,直接下载安装到eclipse里 第一种方式: 1.下载SVN插件 SVN插件下载地址及更新地址,你根据需要选择你需要的版本.现在最新是1.8.x Links for 1.8.x Release: Eclipse update site URL: http://subclip

CentOS6.5_X64下安装配置MongoDB数据库

环境准备: 硬件要求:50G硬盘 8G内存 4核CPU 软件要求:Linux操作系统:CentOS6.5_X64  mongodb-linux-x86_64-2.6.10.tgz 目的: 安装配置MongoDB数据库 具体操作: 一.关闭SElinux.配置防火墙 1.vi /etc/selinux/config #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINUX=disabled #增加 :wq!  #保存退出 setenfor

ubuntu kylin 14.04安装配置MongoDB v2.6.1(转)

1.获取最新版本 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.1.tgz 2.解压并进入bin目录 tar zxvf mongodb-linux-x86_64-2.6.1.tgz cd /opt/database/mongodb-linux-x86_64-2.6.1/bin 3.运行前创建mongodb需要的存放数据和日志的目录: sudo mkdir -p /data/db/ sudo chmod -R 777 /data

安装jenkins插件的两种方法

安装jenkins插件有两种方法,一种是在线安装,一种是离线安装.两种方式介绍如下: 1.如果服务器可以上网,那边选择在线安装最好不过了,安装流程为:系统管理----插件管理---选择需要的插件直接安装即可 2.如果服务器不能上网,那么就只能离线安装,首先去 http://updates.jenkins-ci.org/download/plugins/ 下载需要的plugin,选择匹配的版本号,下载到本地,然后打开:系统管理---插件管理-高级---找到"上传插件"(浏览,找到扩展名为

安装wxWidgets遭遇的两大关卡

早就想体验wxWidgets.这学期的C++课,课时还算充裕,关键是弟子们的实践能跟得上,我希望能让他们也浅尝一把GUI开发.MFC可以选,但既然IDE都用CodeBlocks了,还是选wxWidgets,开源平台到底吧. 要引弟子行,师傅先走一步. 最简单的办法,下载wxPack,直接安装.看到安装需要的空间相当大,有些犹豫,一是没有找到合适的下载源(我的浏览器打不开http://sourceforge.net,估计又是移动宽带不能解析域名,懒得找他们了),二也想体验利用下载的源文件,自己编译