1. 配置安装mongdodb扩展
pecl install mongodb
2. 在php.ini中添加如下代码(添加前先搜索一下是否已经存在,部分环境在第一步时会自动添加,重复添加可能会导致报错:Class 'MongoDB\Driver\Manager' not found,或者 PHP Warning: Module ‘mongodb’ already loaded in Unknown on line 0)
extension=mongodb.so
3. 添加composer依赖(jenssegers/mongodb):(mongodb版本可以根据需求自由修改)
composer require jenssegers/mongodb
或者
在composer文件添加"jenssegers/mongodb": "3.2",然后执行composer update
4. 在lumen的bootstrap/app.php中注册驱动,并且必须开通withEloquent。MongodbServiceProvider的注册建议在其它服务之前,否则可能导致Unsupportdriver错误
$app->register(Jenssegers\Mongodb\MongodbServiceProvider::class);
....
....
$app->withEloquent();
5. 在config/database.php文件中增加mongodb数据配置:(如下是副本集实例的配置)
'connections' => [
'my_mongodb' => [
'driver' => 'mongodb',
'host' => array('dds-***.mongodb.rds.aliyuncs.com','dds-***.mongodb.rds.aliyuncs.com'),
'port' => ***,
'username' => 'root',
'password' => '***',
'database' => '***',
'options' => array(
'replicaSet' => '***',
'db' => 'admin'
)
],
],
6. 代码中使用DB对象读取数据(示例)
$mongodb = DB::connection('my_mongodb'); // 获得mongodb的连接, 可以复用
$db = $mongodb->collection('my_collection'); // 不支持复用,每次查询都要配置
$data = $db->where('my_test_key', $my_test_value)->get(); // 查询示例
参考文献:
1.https://learnku.com/laravel/t/1118/using-mongodbs-replica-set-in-laravel
2.https://www.ancii.com/ajmea4w3z/
3.http://www.21yunwei.com/archives/4866
4.https://www.jianshu.com/p/41865e061648
5.https://www.cnblogs.com/aademeng/articles/9774069.html (增删改查示例)