导航

php mongodb扩展

Posted on 2026-01-17 23:33  pcwanli  阅读(0)  评论(0)    收藏  举报

在PHP中使用MongoDB,你可以通过两种主要方式之一进行:使用MongoDB的官方扩展库,或者使用MongoDB的官方客户端库(MongoDB PHP Library)。下面我将分别介绍如何在这两种方式下使用MongoDB的驱动(manager)来连接和操作MongoDB数据库。

使用MongoDB官方扩展库

首先,确保你的PHP环境中已经安装了mongodb扩展。你可以通过PECL或编译安装的方式安装它。

‌安装mongodb扩展(使用PECL):‌

bashCopy Code
 
pecl install mongodb

然后在你的php.ini文件中添加:

iniCopy Code
 
extension=mongodb.so

‌示例代码:‌

phpCopy Code
 
<?php $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
// 选择数据库和集合
$dbName = "test";
$collectionName = "users";
$namespace = $dbName . "." . $collectionName;
// 创建一个查询
$filter = [];
$options = [];
// 执行查询
$query = new MongoDB\Driver\Query($filter, $options);
$rows = $manager->executeQuery($namespace, $query);
foreach ($rows as $row) { echo $row->jsonSerialize() . "\n"; }
?>

使用MongoDB官方客户端库

从PHP 7.0开始,MongoDB官方提供了一个更现代的客户端库,称为mongodb(不是mongo)。这个库提供了更面向对象的方式来操作MongoDB。

‌安装mongodb客户端库(使用Composer):‌

bashCopy Code
 
composer require mongodb/mongodb

‌示例代码:‌

phpCopy Code
 
<?php require 'vendor/autoload.php';
// 引入Composer的自动加载文件
$manager = new MongoDB\Client("mongodb://localhost:27017");
$collection = $manager->test->users;
// 选择数据库和集合 // 创建一个查询
$filter = [];
$options = [];
$cursor = $collection->find($filter, $options);
foreach ($cursor as $document) { echo json_encode($document) . "\n"; }
?>

注意事项:

  1. 确保MongoDB服务正在运行,并且监听在正确的端口上(默认是27017)。
  2. 根据你的MongoDB服务器配置(如用户名、密码、认证机制等),你可能需要修改连接字符串,例如:mongodb://username:password@localhost:27017/
  3. 使用mongodb扩展时,使用的是MongoDB\Driver\Manager和相关的类;而使用mongodb客户端库时,则是通过MongoDB\Client来操作。两者在功能上相似,但是API设计有所不同。选择哪一种取决于你的具体需求和偏好。

通过上述方法,你可以在PHP中使用MongoDB的驱动来连接和操作MongoDB