1. MongoDB 简介
MongoDB 是一个基于文档的 NoSQL 数据库,它以灵活的数据模型和强大的查询功能著称。在 PHP 中操作 MongoDB,通常使用 MongoDB 官方提供的 PHP 扩展
mongodb
。
2. 安装 MongoDB 扩展
在开始之前,确保你的 PHP 环境已经安装了 MongoDB 扩展。可以通过以下命令进行安装:
pecl install mongodb
安装完成后,在
php.ini
文件中启用
mongodb
扩展:
extension=mongodb
3. 连接到 MongoDB 数据库
使用
MongoDB
类连接到 MongoDB 数据库:
这里,
localhost:27017
是 MongoDB 的默认地址和端口。
4. 选择数据库和集合
使用
selectDatabase
和
selectCollection
方法选择数据库和集合:
selectDatabase(“test”);
$collection = $database->selectCollection(“users”);
?>
这里,我们选择了名为
test
的数据库和
users
集合。
5. 插入文档
使用
insertOne
或
insertMany
方法插入文档:
“John”, “age” => 30];
$collection->insertOne($document);
?>
这里,我们向
users
集合中插入了一个包含
name
和
age
字段的文档。
6. 查询文档
使用
find
方法查询文档:
“John”]);
$cursor = $collection->find($query);
?>
这里,我们查询了
name
字段为
John
的文档。
7. 更新文档
使用
updateOne
或
updateMany
方法更新文档:
[‘age’ => 31]
];
$collection->updateOne([“name” => “John”], $update);
?>
这里,我们将
name
字段为
John
的文档的
age
字段更新为 31。
8. 删除文档
使用
deleteOne
或
deleteMany
方法删除文档:
deleteOne([“name” => “John”]);
?>
这里,我们删除了
name
字段为
John
的文档。
9. 聚合查询
使用
aggregate
方法进行聚合查询:
[‘age’ => 30]],
[‘$group’ => [‘_id’ => ‘$name’, ‘total’ => [‘$sum’ => ‘$age’]]]
];
$cursor = $collection->aggregate($aggregate);
?>
这里,我们查询了年龄为 30 的用户,并按姓名进行分组,计算每个用户的年龄总和。
10. 实战技巧
使用
MongoDB\Driver\BulkWrite
类进行批量操作,提高效率。
利用索引提高查询性能。
使用
$lookup
操作符进行表连接。
熟悉 MongoDB 的查询语法和操作符。
通过以上内容,相信你已经对 PHP 操作 MongoDB 有了基本的了解。继续实践和探索,你将能够更好地掌握 MongoDB 和 PHP 的结合。