旧版的mongo扩展已经不推荐使用了,在php7以上一般是安装和使用新版的mongodb扩展

ubuntu下

apt-get install php-mongodb

例如下面的代码进行了查询和插入集合操作

<?php
class DocModel{
public $mongoManger=null;
public $dbName='coms';
public function __construct(){
// 连接到mongodb
$this->mongoManger = new MongoDB\Driver\Manager("mongodb://127.0.0.1:27017");
}
//添加文档模型
public function addModel($isDraft=false){
$params=[];
$params['modelID']='basic_news';
$params['name']='基础新闻';
$params['parentID']='root';
$params['modelXML']="<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<model>\r\n\t <fields>\r\n\t <field label=\"标题\" name=\"title\" type=\"string\" widget=\"title\" required=\"1\" maxLength=\"60\" minLength=\"1\" esAnalyzed=\"analyzed\" esAddNoAnalyzed=\"yes\" >\r\n\t\t<widgetParams>\r\n\t\t\t<param name=\"marks\" value=\"5,13.5,40\"\/>\r\n\t\t<\/widgetParams>\r\n\t\t<validation>\r\n\t\t\t<rule type=\"maxZhLength\" value=\"40\" msgZh=\"标题长度不能超过40个汉字长度\" \/>\r\n\t\t<\/validation>\r\n\t<\/field>\r\n\t\t <\/fields>\r\n <layout>\r\n\t<fieldset name=\"basic\" legend=\"基本信息\">\r\n\t\t<field name=\"title\" width=\"12\"\/>\r\n\t<\/fieldset>\t\r\n <\/layout>\r\n<\/model>";
$params['isTest']='0';
$params['desc']='shihan添加';
$params['auditFeedback']='';
$params['status']='1';
$params['audited']='1';
$collect=$isDraft ? '.modelDraft':'model'; $bulk = new MongoDB\Driver\BulkWrite();
$sets= ['$set' => $params];
$bulk->update(['modelID' => $params['modelID']],$sets, ['multi' => false, 'upsert' => true]);
$this->mongoManger->executeBulkWrite($this->dbName.$collect, $bulk);
}
//文档模型列表
public function listModel($isDraft=false){
$filter = [];
$options = [];
$collect=$isDraft ? '.modelDraft':'model';
$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $this->mongoManger->executeQuery($this->dbName.$collect, $query);
foreach ($cursor as $document) {
var_dump($document);
}
}
//获取文档模型详情
public function getModel($isDraft=false){
$params['modelID']='basic_news';
$filter = ['modelID'=>$params['modelID']];
$options = [];
$collect=$isDraft ? '.modelDraft':'model';
$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $this->mongoManger->executeQuery($this->dbName.$collect, $query);
foreach ($cursor as $document) {
var_dump($document);
}
}
}
$docModel=new DocModel();
$docModel->getModel(true);

[PHP]新版的mongodb扩展安装和使用的更多相关文章

  1. PHP MongoDB 扩展安装配置

    近日对MongoDB比较感兴趣,在linux下部署了一套LAMP,想把MongoDB加进来,下面进入正题: 1.确保安装好LAMP环境,假设php安装目录:/usr/local/php5 2.下载ht ...

  2. Ubuntu14.04 lamp环境 php mongodb扩展安装

    安装pecl支持: sudo apt-get install php5-dev php5-cli php-pear 安装mongo驱动 sudo pecl install mongo 修改php.in ...

  3. windows10 php7安装mongodb 扩展

    系统环境:win10家庭版Phpstudy2016  php7 1. 打开phpinfo 查看 nts(非线程) 还是 ts (线程),然后查看操作位数 注: 86 等于 32 位 ,和你的windo ...

  4. windows下安装MongoDB扩展和配置

    windows下安装MongoDB扩展和配置 1.下载mongoDB扩展,根据当前php版本进行下载 地址如下:http://pecl.php.net/package/mongo 我本地php版本是 ...

  5. windows10 php7安装mongodb 扩展及其他扩展的思路

    1. 打开phpinfo 查看 nts(非线程) 还是 ts (线程),然后查看操作位数 注: 86 等于 32 位 ,和你的windows系统64 or 32位无关.比如我的: 2. 下载对应的版本 ...

  6. windows php7 安装 mongodb 扩展

    1. 打开phpinfo 查看 nts(非线程) 还是 ts (线程),然后查看操作位数 注: 86 等于 32 位 2. 下载对应的版本的php_mongodb.dll 文件下载链接: pecl m ...

  7. Mac php7本地安装mongodb扩展以适配使用mongo扩展的线上老代码

    从https://pecl.php.net/package/mongodb官网下载压缩包(不懂事的我下载了1.5.1版本) 解压安装包 tar -zxvf mongodb-1.5.1.tgz 进入解压 ...

  8. Windows下安装最新版的MongoDB

    最近学习爬虫需要用到MongoDB来存储数据,在安装过程遇到了一些坑,在这里总结一些. 安装环境:Windows 10 安装步骤: 1.下载安装文件 下载地址:https://www.mongodb. ...

  9. Windows安装PHP MongoDB扩展

    本文将讲述一下在Wamp环境下安装MongoDB扩展的过程,大家可以略作参考 Linux 版本的可以参考之前发布的Linux安装PHP MongoDB扩展 安装环境 系统环境:Windows 7 64 ...

随机推荐

  1. 二、vim的保存文件和退出命令

    vim的保存文件和退出命令   命令 简单说明 :w 保存编辑后的文件内容,但不退出vim编辑器.这个命令的作用是把内存缓冲区中的数据写到启动vim时指定的文件中. :w! 强制写文件,即强制覆盖原有 ...

  2. Codeforces Round #600 (Div. 2) C - Sweets Eating

    #include<iostream> #include<algorithm> #include<cstring> using namespace std ; typ ...

  3. 虫师自动化测试robot Framework 框架的学习

    1.python关键字的定义 #coding=utf-8 def add(a,b): return a+b if __name__ == "__main__": c = add(4 ...

  4. 杭电oj1717——小数化分数(java实现)

    question:小数化分数2 思路: /** * 这道题没有整数部分(有也无所谓,算小数部分,算完了分子分母按倍数加上就好),也就是说数组直接从a[2]开始后面是小数,我把这道题分为了三类: * * ...

  5. python3 读取串口数据

    python3 读取串口数据 demo import serial import time ser = serial.Serial("COM3",115200,timeout = ...

  6. 【填坑】python3 manage.py migrate:?: (mysql.W002) MySQL Strict Mode is not set for database connection 'default'

    问题: WARNINGS:?: (mysql.W002) MySQL Strict Mode is not set for database connection 'default'        H ...

  7. adb logcat日志抓取

    adb命令 logcat日志抓取 一.logcat抓log方法:adb logcat命令,可以加条件过滤 1.安装SDK(参考android sdk环境安装) 2.使用数据线链接手机,在手机助手的sd ...

  8. 使用LxRunOffline工具备份/还原Linux子系统(WSL)

    安装WSL 开启WSL组件 首先需要打开WSL组件,可以使用以下命令: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Win ...

  9. C++-HDU1394-Minimum Inversion Number[数据结构][树状数组]

    给出0~n-1的一个排列,可以整体移动,求逆序对最小值 把数字num[i]的加入,等价于树状数组的第n-num[i]位加1 因为num[i]是第 (n-1)-num[i]+1=n-num[i]大的数字 ...

  10. log设计网站,一站式一键设计log网站

    log设计网站,一站式一键设计log网站 log设计网站,一键式一站式设计log网站 待办 https://www.wix.com/buildyourwebsite5/designlogo?utm_s ...