yiisoft/db-mongodb

Yii 框架 MongoDB 扩展

dev-master / 1.0.x-dev 2024-05-30 04:12 UTC

This package is auto-updated.

Last update: 2024-08-30 04:46:06 UTC


README

Yii MongoDB

Yii 数据库 MongoDB 驱动程序


Latest Stable Version Total Downloads Build status Code Coverage Mutation testing badge static analysis type-coverage psalm-level

本扩展为Yii 框架提供MongoDB集成。

要求

  • MongoDB PHP 扩展版本 1.8.0 或更高。
  • MongoDB 服务器版本 3.0 或更高。
  • PHP 8.1 或更高。

安装

可以使用Composer安装此包。

composer require yiisoft/db-mongodb

通用用法

要使用此扩展,只需将以下代码添加到您的应用程序配置中

return [
    //....
    'components' => [
        'mongodb' => [
            'class' => Yiisoft\Db\MongoDb\Connection::class,
            'dsn' => 'mongodb://@localhost:27017/mydatabase',
            'options' => [
                "username" => "Username",
                "password" => "Password"
            ]
        ],
    ],
];

一旦您有一个 MongoDB 连接实例,您可以使用 Yiisoft\Db\MongoDb\Command 执行 MongoDB 命令和查询

// execute command:
$result = Yii::$app->mongodb->createCommand(['listIndexes' => 'some_collection'])->execute();

// execute query (find):
$cursor = Yii::$app->mongodb->createCommand(['projection' => ['name' => true]])->query('some_collection');

// execute batch (bulk) operations:
Yii::$app->mongodb->createCommand()
    ->addInsert(['name' => 'new'])
    ->addUpdate(['name' => 'existing'], ['name' => 'updated'])
    ->addDelete(['name' => 'old'])
    ->executeBatch('customer');

使用连接实例,您可以访问数据库和集合。大多数 MongoDB 命令都可通过 \Yiisoft\Db\MongoDb\Collection 实例访问

$collection = Yii::$app->mongodb->getCollection('customer');
$collection->insert(['name' => 'John Smith', 'status' => 1]);

要执行 find 查询,您应使用 \Yiisoft\Db\MongoDb\Query

use Yiisoft\Db\MongoDb\Query;

$query = new Query();
// compose the query
$query->select(['name', 'status'])
    ->from('customer')
    ->limit(10);
// execute the query
$rows = $query->all();

文档

如果您需要帮助或有疑问,Yii 论坛是一个不错的选择。您还可以查看其他Yii 社区资源

许可

Yii 数据库 MongoDB 驱动程序是自由软件。它根据 BSD 许可证的条款发布。请参阅LICENSE以获取更多信息。

Yii 软件维护。

支持项目

Open Collective

关注更新

Official website Twitter Telegram Facebook Slack