2025年3月28日 星期五 甲辰(龙)年 月廿七 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 软件应用 > 数据库 > MongoDB

PHP操作MongoDB(详细)

时间:10-07来源:作者:点击数:68

想要在 PHP 中使用 MongoDB,您需要为 PHP 安装 MongoDB 的驱动,您可以从 PHP 官网(https://pecl.php.net/package/mongodb)下载最新版的 MongoDB 驱动。下载成功后解压得到的压缩包,并将其中的 php_mongo.dll 文件移动到您的 PHP 扩展目录中(默认为“ext”),然后在您的 PHP 配置文件(php.ini)文件中添加如下内容:

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" => "https://www.cdsy.xyz/computer/soft/database/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] => https://www.cdsy.xyz/computer/soft/database/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] => https://www.cdsy.xyz/computer/soft/database/mongodb/
            [by] => 城东书院
        )
)

通过运行结果可以看出,我们成功将文档“title”字段的内容更新为了“MongoDB教程”。

删除文档

要使用 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
(
)

除了上面示例中介绍的方法外,在 PHP 中您还可以使用其余的 MongoDB 方法,例如 findOne()、save()、limit()、skip()、sort() 等来操作 MongoDB 数据库。

更多的操作方法可以参考 Mongodb 核心类:http://php.net/manual/zh/mongo.core.php

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门