laravel mongoDB的安装和配置
安装
1、先安装php7的mongodb扩展
https://blog.csdn.net/weixin_36429334/article/details/73467830
安装好对应版本之后,查看phpinfo()是否安装成功
2、确定已经安装好php的mongodb的扩展之后
进入项目的根目录,命令行执行
composer require jenssegers/mongodb
3、在config/app.php下注册服务
'providers'中加入
Jenssegers\Mongodb\MongodbServiceProvider::class,
'aliases'中加入
'Moloquent' => Jenssegers\Mongodb\Eloquent\Model::class,
'Mongo' => Jenssegers\Mongodb\MongodbServiceProvider::class,
要与Lumen一起使用,请在bootstrap / app.php中添加服务提供程序。 在此文件中,您还需要启用Eloquent。 但是,您必须确保调用$ app-> withEloquent();在您注册MongodbServiceProvider的位置下方:
$app->register(Jenssegers\Mongodb\MongodbServiceProvider::class);
$app->withEloquent();
配置
1、设置默认连接的数据库在 config/database.php:
'default' => env('DB_CONNECTION', 'mongodb'),
2、增加MongoDB的连接:
'mongodb' => [
'driver' => 'mongodb',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', 27017),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'options' => [
'database' => 'admin' // sets the authentication database required by mongo 3
]
],
3、您可以使用以下配置连接到多个服务器或副本集:
'mongodb' => [
'driver' => 'mongodb',
'host' =>['server1', 'server2'],
'port' => env('DB_PORT', 27017),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'options' =>[
'replicaSet' => 'replicaSetName'
]
],
或者,您可以使用MongoDB连接字符串:
'mongodb' =>[
'driver' => 'mongodb',
'dsn' => env('DB_DSN'),
'database' => env('DB_DATABASE'),
],
有关其URI格式,请参阅MongoDB官方文档:https://docs.mongodb.com/manual/reference/connection-string/