首页 > 开发 > PHP > 正文

PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】

2024-05-04 22:43:28
字体:
来源:转载
供稿:网友

本文实例讲述了PHP操作MongoDB实现增删改查功能。分享给大家供大家参考,具体如下:

MongoDB的PHP驱动提供了一些核心类来操作MongoDB,总的来说MongoDB命令行中有的功能,它都可以实现,而且参数的格式基本相似。PHP7以前的版本和PHP7之后的版本对MongoDB的操作有所不同,本文主要以PHP7以前版本为例讲解PHP对MongoDB的各种操作,最后再简单说明一下PHP7以后版本对MongoDB的操作。

一、数据插入

//insert()//参数1:一个数组或对象//参数2:扩展选项// fsync:默认为false,若为true则mongo在确认数据插入成功之前将会强制把数据写入硬盘// j:默认为false,若为true则mongo在确认数据插入成功之前将会强制把数据写入日志// w:默认为1,写操作会被(主)服务器确认,若为0则将不会得到确认,使用复制集时设置为n用于确保主服务器将数据修改成功复制到n个节点后再确认// wtimeout:默认为10000(毫秒),用于指定服务器等待接收确认的时间// timeout:指定客户端需要等待服务器响应的超时时间(毫秒)$mongo = new MongoClient('mongodb://localhost:27017');$db = $mongo->mf;//选择数据库$collection = $db->friend;//选择文档集合$doc = [//定义一个文档,即一个数组  'First Name' => 'Jet',  'Last Name' => 'Wu',  'Age' => 26,  'Phone' => '110',  'Address' => [    'Country' => 'China',    'City' => 'Shen Zhen'  ],  'E-Mail' => [    '123456@qq.com',    '666666@sina.com',    '8888888@qq.com',    '77887788@qq.com'  ]];$res = $collection->insert($doc);//向集合中插入一个文档echo '<pre>';print_r($res);//$res['ok']=1表示插入成功

二、数据查询

1. 查询单个文档:

//findOne()//参数1:搜索条件//参数2:指定返回字段,array('fieldname' => true, 'fieldname2' => true)。_id字段总会返回,除非在第二个参数显式加入'_id'=>false。不设置则返回所有字段$mongo = new MongoClient('mongodb://localhost:27017');$db = $mongo->mf;$collection = $db->friend;$one = $collection->findOne(['First Name' => 'Jet']);echo '<pre>';print_r($one);//返回一个数组,查不到数据则返回NULL

2. 查询多个文档:

//find()//参数1:搜索条件//参数2:指定返回字段,array('fieldname' => true, 'fieldname2' => true)。_id字段总会返回,除非显式设置为false不返回。不设置则返回所有字段$mongo = new MongoClient('mongodb://localhost:27017');$db = $mongo->mf;$collection = $db->friend;$cursor = $collection->find(['Address.Country' => 'China']);//使用点操作符查找数组元素echo '<pre>';while($doc = $cursor->getNext()) {//循环读取每个匹配的文档  print_r($doc);}

使用各种条件操作符定义查询:

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