首页 > 数据库 > MongoDB > 正文

PHP7中 MongoDB Driver的使用介绍

2020-03-22 19:20:20
字体:
来源:转载
供稿:网友
这篇文章主要介绍了关于PHP7中 MongoDB Driver的使用介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

php7 只能使用Mongodb driver来驱动mongodb。

使用Mongodb Driver连接数据库

刚开始使用Mongodb Driver的时候我是拒绝的。查看官方文档只看到一排的类和不知所云的成员方法,翻了半天也找不到 find, update, delete等等关键词,更甚至稍微复杂一点的比如副本集,用户认证都不知道怎么连接数据库。
幸好文档不是完全没有,点开Mongodb/Driver/Manger::constructor 看到有几个构造参数

$uri 形如 mongo://[host:port,host:port,host:port]/[dbname]?[username=aa password=bb replicaSet=cc]

$uriOptions 就是上面?后面的那一串参数,可以写在这里

$driverOptions 其他选项比如默认的读写参数

MongodbDriver CURD操作

这就是是我一开始觉得这个驱动反人类的地方,文档里没有任何的find,update,delete等字眼,只有一个Command类和一个Query类。
Query 类稍微好一些,提供了部分查询选项。
实际上,对Mongo数据库的所有操作,都可以通过Command类进行。而php的驱动文档对具体的 commandOptions 是不做介绍的。
正因为我是mongodb萌新,所以才会觉得这个驱动无比奇葩反人类,根本就无从下手。
我们使用这个驱动的关键,是用Command类构造一个commandOption
而这个commandOption需要我们从mongodb的官方文档中去了解
MONGODB MANUAL - Database Commands
所有的操作,数据增删改查,聚合排序,数据库状态,用户认证等等,都可以通过这些命令搞定。下面随便举几个例子

连接数据库

$this- _conn = new MongoDB/Driver/Manager( mongodb://localhost:27017/test $this- _db = test // execute command.function exec($opts) { $cmd = new MongoDB/Driver/Command($opts); $res = $this- _conn- executeCommand($this- _db, $cmd); return $res- toArray();}

条件查询,按需返回

$cmd = [ find = table , // collection表名 filter = [ _id = [ $gte = 10, $lt = 20]], projection = [ name = 1, email = 1]$res = $this-exec($cmd);

修改记录

$cmd = [ update = table , // collection 表名 updates = [ [ q = [_id = [ $lt = 10]], u = [ status = 0], upsert = 0, multi = 1], [ q = [_id = [ $gte = 10]], u = [ status = 1], upsert = 0, multi = 1], ordered = 1, // 是否依次执行updates语句,true表示执行失败后继续后面的语句,false 表示一旦失败立即返回]

删除记录,limit只能是1或0!

$cmd = [ delete = table , // collection 表名 deletes = [ [ q = [_id = [ $lt = 5]], limit = 0], // 0表示所有,1表示删除1行]

插入数据

$cmd = [ delete = table , // collection 表名 deletes = [ [ q = [_id = [ $lt = 5]], limit = 0], // 0表示所有,1表示删除1行]

分组,排序

$cmd = [ aggregate = table , // collection 表名 pipeline = [ $group = html' target='_blank'>class , $sort = score ]

读取数据库状态

$cmd = [ replSetGetStatus = 1,]
辅助类 BSON

最有用的当然是 MongoDB/BSON/Javascript 和 MongoDB/BSON/ObjectId ,分别是传入 javascript 脚本函数,和使用 mongodb 的ojectid。

异常 Exception

所有MongoDBDriver 产生的异常都可以用 MongoDB/Driver/Exception/Exception 捕获

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP !

相关推荐:

PHP使用Azure Storage Blob上传文件

php中imagettfbbox和imagettftext 文字图片自动换行的方法

以上就是PHP7中 MongoDB Driver的使用介绍的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表