joorloohuis/yii2-mongodb

提供官方mongodb.org客户端包装器的Yii2组件

安装次数: 9 190

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 1

类型:yii2-extension

v2.0.1 2022-09-20 11:33 UTC

This package is auto-updated.

Last update: 2024-09-20 15:42:03 UTC


README

MongoClient将mongodb.org提供的官方MongoDB支持以Yii2组件的形式暴露。该组件提供MongoDB\Client对象,因此可以像在官方MongoDB参考中所述一样使用。

该组件存在的原因是标准的Yii2组件主要针对AR方法,这屏蔽了mongodb.org提供的MongoDB PHP库的许多强大核心功能。

该组件需要较新的mongodb PHP扩展,旧的mongo PHP扩展未经测试且不受支持。

安装

安装此扩展的最佳方式是通过 composer

运行以下命令之一

php composer.phar require joorloohuis/yii2-mongodb

或者将以下内容添加到您的 composer.json 文件的 require 部分中。

"joorloohuis/yii2-mongodb": "^1.0.0"

配置

将以下部分添加到您的配置文件中 components 部分

<?php
    'mongoclient' => [
        'class' => \joorloohuis\mongodb\components\MongoClient::class,
        'dsn' => 'mongodb://mongouser:mongopw@localhost:27017/database?args',
        // alternatively, provide separate parameters
        // 'host' => 'localhost',
        // 'port' => 27017,
        // 'user' => 'mongouser',
        // 'password' => 'mongopw',
        // 'db' => 'mongodatabase',
        // 'args' => 'args',
    ];

用法

MongoClient可以用于MongoDB PHP库支持的任何操作,例如

$collection = \Yii::$app->mongoclient->database->selectCollection('mycollection');
$cursor = $collection->aggregate([
    // aggregation pipeline parts go here
]);
$result = $cursor->toArray();