MongoDB PHP 教程
MongoDB 是一个流行的 NoSQL 数据库,而 PHP 是一种广泛使用的服务器端脚本语言。本教程将介绍如何在 PHP 应用程序中使用 MongoDB,包括安装、连接、查询、更新和删除数据。
目录
- MongoDB 简介
- PHP MongoDB 扩展安装
- 连接 MongoDB
- 数据库操作
- 创建数据库
- 选择数据库
- 删除数据库
- 集合操作
- 创建集合
- 删除集合
- 文档操作
- 插入文档
- 查询文档
- 更新文档
- 删除文档
- 索引
- 创建索引
- 索引查询
- 删除索引
- 安全性
- 用户认证
- 角色和权限
- 备份和恢复
- 性能优化
- 实践项目
1. MongoDB 简介
MongoDB 是一个基于文档的 NoSQL 数据库,使用 JSON-like 文档来存储数据。它具有高性能、可扩展性和灵活性,适用于各种应用程序,包括大数据、实时分析和高流量网站。
2. PHP MongoDB 扩展安装
在 PHP 应用程序中使用 MongoDB 之前,需要安装 PHP MongoDB 扩展。可以通过 PECL 或手动编译安装。
2.1 使用 PECL 安装
-
打开命令行界面。
-
运行以下命令:
pecl install mongodb
-
将
extension=mongodb.so
添加到php.ini
文件中。
2.2 手动编译安装
-
下载 MongoDB PHP 扩展源代码。
-
解压源代码。
-
进入解压后的目录。
-
运行以下命令:
phpize ./configure make make install
-
将
extension=mongodb.so
添加到php.ini
文件中。
3. 连接 MongoDB
在 PHP 应用程序中,使用 MongoDB\Client
类连接 MongoDB 数据库。
<?php
require 'vendor/autoload.php';
$client = new MongoDB\Client("mongodb://localhost:27017");
?>
4. 数据库操作
4.1 创建数据库
在 MongoDB 中,数据库会在首次插入数据时自动创建。
<?php
require 'vendor/autoload.php';
$client = new MongoDB\Client("mongodb://localhost:27017");
$db = $client->mydb;
?>
4.2 选择数据库
使用 MongoDB\Client
类的 selectDatabase()
方法选择数据库。
<?php
$db = $client->selectDatabase("mydb");
?>
4.3 删除数据库
使用 drop()
方法删除数据库。
<?php
$db->drop();
?>
5. 集合操作
5.1 创建集合
在 MongoDB 中,集合会在首次插入数据时自动创建。
<?php
$collection = $db->mycollection;
?>
5.2 删除集合
使用 drop()
方法删除集合。
<?php
$collection->drop();
?>
6. 文档操作
6.1 插入文档
使用 insertOne()
或 insertMany()
方法插入文档。
<?php
$document = [
"name" => "John Doe",
"email" => "john.doe@example.com"
];
$result = $collection->insertOne($document);
?>
6.2 查询文档
使用 find()
方法查询文档。
<?php
$cursor = $collection->find([]);
foreach ($cursor as $document) {
echo $document["name"] . "\n";
}
?>
6.3 更新文档
使用 updateOne()
或 updateMany()
方法更新文档。
<?php
$filter = ["name" => "John Doe"];
$update = ["$set" => ["email" => "john.doe@example.org"]];
$result = $collection->updateOne($filter, $update);
?>
6.4 删除文档
使用 deleteOne()
或 deleteMany()
方法删除文档。
<?php