### 安装 MongoDB PHP 扩展
首先需要确保已经安装了适用于您环境的最新版 MongoDB PHP 驞动。可以通过 Composer 或者 PECL 进行安装:
1. **Composer 方式**:
在 `composer.json` 文件添加依赖项:
json
{
"require": {
"mongodb/mongodb": "^1.0"
}
}
然后运行 `composer install` 来下载并自动加载拓展包。
2. **PECL方式(推荐生产环境中使用):**
使用如下命令直接从终端安装:
bash
pecl install mongodb
安装完成后,请别忘了在您的 php.ini 文件里启用该扩展,并重启 Web Server。
### 初始化 MongoClient 和连接到 MongoDB 数据库
php
<?php
// 新版本驱动建议采用 Manager 类来创建客户端实例
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
// 老版本驱动则是通过 MongoClient 创建对象 (已废弃)
//$mongoClient = new MongoClient('mongodb://localhost:27017');
try{
// 可以选择指定要连接的具体数据库,默认为 admin
$db = ($manager)->selectDatabase('your_database');
} catch(MongoDB\Exception\ExceptionInterface $e) {
die ("Failed to connect with database : ". $e->getMessage());
}
?>
以上代码段展示了如何初始化一个对 MongoDB 的链接,其中 'localhost' 表示本地主机地址,“27017”是默认监听端口,而 `'your_database'` 则需替换为你实际使用的数据库名称。
### 操作集合及 CRUD 基础方法
#### 插入数据:
插入一条新的记录至名为 “users”的集合:
php
$data = ['name'=>'John Doe', 'email'=> 'john@example.com'];
$insertOneResult = $db->collection('users')->insertOne($data);
if (!$insertOneResult->isAcknowledged()) {
echo "Insert failed!";
}
$idInserted = $insertOneResult->getInsertedId();
echo "Newly inserted document id is ObjectId({$idInserted})";
#### 查询数据:
查询 users 集合中的所有用户:
php
$query = [ ]; // empty query matches all documents in the collection
cursor = $db->collection('users')->find($query);
foreach ($cursor as $document){
var_dump($document);
}
#### 更新数据:
更新特定用户的邮箱信息:
php
$filter = ["_id" => $idInserted];
$newValues = ['$set'=>['email'=>"new_email@example.com"]];
$updateResult = $db->collection('users')->updateOne($filter, $newValues);
var_dump($updateResult->isModifiedCountAvailable() ? $updateResult->getModifiedCount(): null );
#### 删除数据:
删除刚才插入的那个用户条目:
php
$db->collection('users')->deleteOne(['_id'=>$idInserted]);
综上所述,借助于 MongoDB PHP 驱动程序,开发者能够便捷地完成针对 MongoDB 文档型数据库的各项基本CRUD(增删改查)操作以及其他复杂查询处理任务。熟练掌握这些基础应用技巧对于提升项目效率以及优化系统性能具有重要意义。同时,MongoDB 提供的强大功能如索引支持、聚合框架等也为构建高效能的应用提供了可能。