PHP操作MongoDB(详细)

1年前 (2024-04-26)
想要在 PHP 中使用 MongoDB,您需要为 PHP 安装 MongoDB 的驱动,您可以从 PHP 官网(https://pecl.php网站站点" rel="nofollow" />

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网站站点" rel="nofollow" /> 数据库连接成功
成功选择数据库 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网站站点" rel="nofollow" />

<?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网站站点" rel="nofollow" />

<?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网站站点" rel="nofollow" />