[PHP]新版的mongodb扩展安装和使用
时间:2020-03-30 来源:互联网 编辑:宝哥软件园 浏览:次
旧版的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 MongoDBDriverManager("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"?>
<model>
<fields>
<field label="标题" name="title" type="string" widget="title" required="1" maxLength="60" minLength="1" esAnalyzed="analyzed" esAddNoAnalyzed="yes" >
<widgetParams>
<param name="marks" value="5,13.5,40"/>
</widgetParams>
<validation>
<rule type="maxZhLength" value="40" msgZh="标题长度不能超过40个汉字长度" />
</validation>
</field>
</fields>
<layout>
<fieldset name="basic" legend="基本信息">
<field name="title" width="12"/>
</fieldset>
</layout>
</model>";
$params['isTest']='0';
$params['desc']='shihan添加';
$params['auditFeedback']='';
$params['status']='1';
$params['audited']='1';
$collect=$isDraft ? '.modelDraft':'model';
$bulk = new MongoDBDriverBulkWrite();
$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 MongoDBDriverQuery($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 MongoDBDriverQuery($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扩展安装和使用是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

















