PHP操作MongoDB(详细)
extension = php_mongo.dll
注意:如果您使用的是 phpstudy 之类的集成开发环境,还需要您将 PHP 的安装目录添加到 Path 环境变量中。
建立连接并选择数据库
在 PHP 中若要建立对 MongoDB 的连接,首先需要指定数据库的名称,如果该数据库不存在,MongoDB 将会自动创建它,示例代码如下:<?php // 连接到 MongoDB $m = new MongoClient(); echo "连接数据库成功<br>"; // 选择数据库 $db = $m->mydb; echo "成功选择数据库 mydb"; ?>运行结果如下:
连接数据库成功
成功选择数据库 mydb
创建集合
想要在 PHP 中为 MongoDB 创建集合,您可以使用 createCollection() 方法,示例代码如下:<?php // 连接到 MongoDB $m = new MongoClient(); echo "连接数据库成功<br>"; // 选择数据库 $db = $m->mydb; echo "成功选择数据库 mydb<br>"; $collection = $db->createCollection("mycol"); echo "集合创建成功"; ?>运行结果如下:
连接数据库成功
成功选择数据库 mydb
集合创建成功
插入文件
要使用 PHP 向 MongoDB 中插入文档您可以使用 insert() 方法,示例代码如下:<?php // 连接到 MongoDB $m = new MongoClient(); echo "数据库连接成功<br>"; // 选择数据库 $db = $m->mydb; echo "成功选择数据库 mydb<br>"; $collection = $db->mycol; echo "集合选择成功<br>"; $document = array( "title" => "MongoDB", "description" => "database", "likes" => 100, "url" => "http://www.biancheng.net/mongodb/", "by" => "编程帮" ); $collection->insert($document); echo "文档插入成功"; ?>运行结果如下:
数据库连接成功
成功选择数据库 mydb
集合选择成功
文档插入成功
查找所有文件
要使用 PHP 查找集合中的所有文档,您可以使用 find() 方法,示例代码如下:<?php // 连接到 MongoDB $m = new MongoClient(); echo "连接数据库成功<br>"; // 选择数据库 $db = $m->mydb; echo "成功选择数据库 mydb<br>"; $collection = $db->mycol; echo "集合选择成功<br>"; $cursor = $collection->find(); $arr = iterator_to_array($cursor, false); // 打印集合中的内容 echo "<pre>"; print_r($arr); ?>运行结果如下:
连接数据库成功
成功选择数据库 mydb
集合选择成功
Array
(
[0] => Array
(
[_id] => MongoId Object
(
[$id] => 603c42fe34f5163c57000029
)
[title] => MongoDB
[description] => database
[likes] => 100
[url] => http://www.biancheng.net/mongodb/
[by] => 编程帮
)
)
更新文档
要使用 PHP 更新集合中的文档,您可以使用 update() 方法,示例代码如下:<?php // 连接到 MongoDB $m = new MongoClient(); echo "连接数据库成功<br>"; // 选择数据库 $db = $m->mydb; echo "成功选择数据库 mydb<br>"; $collection = $db->mycol; echo "集合选择成功<br>"; // 更新文档 $collection->update(array("title"=>"MongoDB"), array('$set'=>array("title"=>"MongoDB教程"))); echo "文档更新成功<br>"; // 查询更新后的文档 echo "查询更新后的文档<br>"; $cursor = $collection->find(); $arr = iterator_to_array($cursor, false); // 打印集合中的内容 echo "<pre>"; print_r($arr); ?>运行结果如下:
连接数据库成功
成功选择数据库 mydb
集合选择成功
文档更新成功
查询更新后的文档
Array
(
[0] => Array
(
[_id] => MongoId Object
(
[$id] => 603c42fe34f5163c57000029
)
[title] => MongoDB教程
[description] => database
[likes] => 100
[url] => http://www.biancheng.net/mongodb/
[by] => 编程帮
)
)
删除文档
要使用 PHP 删除集合中的文档,您可以使用 remove() 方法,示例代码如下:<?php // 连接到 MongoDB $m = new MongoClient(); echo "连接数据库成功<br>"; // 选择数据库 $db = $m->mydb; echo "成功选择数据库 mydb<br>"; $collection = $db->mycol; echo "集合选择成功<br>"; // 删除指定文档 $collection->remove(array("title"=>"MongoDB教程"), array("justOne" => true)); echo "文档删除成功<br>"; // 查询更新后的文档 echo "查询更新后的文档<br>"; $cursor = $collection->find(); $arr = iterator_to_array($cursor, false); // 打印集合中的内容 echo "<pre>"; print_r($arr); ?>运行结果如下:
连接数据库成功
成功选择数据库 mydb
集合选择成功
文档删除成功
查询更新后的文档
Array
(
)
更多的操作方法可以参考 Mongodb 核心类:http://php.net/manual/zh/mongo.core.php。