[PHP]新版的mongodb扩展安装和使用
旧版的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);
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网
标签:
PHP
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具