joorloohuis / yii2-mongodb
提供官方mongodb.org客户端包装器的Yii2组件
v2.0.1
2022-09-20 11:33 UTC
Requires
- php: >=7.0
- ext-mongodb: ^1.4
- mongodb/mongodb: ^1.3
- yiisoft/yii2: ^2.0
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();