我在生产和开发环境中都使用了不同的mongo db。
我具有不同的连接配置,因为mongodb(生产连接名称)位于mongo atlas群集上,因此它使用dsn连接,但是mongodb1(开发连接名称)已本地安装,因此我使用主机和端口进行连接。
我想在不同的环境中使用不同的数据库连接,因此在两种情况下我在环境文件中设置的DB_CONNECTION均不同。 因为我的生产是
DB_CONNECTION=mongodb
并为其发展
DB_CONNECTION=mongodb1
在我的config / database.php文件中
'default'=> env('DB_CONNECTION','mysql'),
在我拥有的连接数组中
'mongodb' => [
'driver' => 'mongodb',
'dsn' => env('MONGO_DB_DSN'),
'database' => env('MONGO_DB_DATABASE', 'uspl'),
'username' => env('MONGO_DB_USERNAME', 'uspl'),
'password' => env('MONGO_DB_PASSWORD', 'unfoldingskies'),
'options' => array(
'db' => 'uspl'
)
],
'mongodb1' => [
'driver' => 'mongodb',
'host' => env('MONGO_DB_HOST', 'localhost'),
'port' => env('MONGO_DB_PORT', 27017),
'database' => env('MONGO_DB_DATABASE'),
'options' => []
],
我的开发环境出现错误->
未配置数据库[mongodb]。在文件中
/var/www/html/devBackend/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php,第152行
我尝试过php artisan config:clear,cache:clear,composer dump-autoload,但是没有任何作用
答案 0 :(得分:0)
Laravel不直接支持MongoDB,因此您需要使用第3方软件包才能使用它。
As of this writing Laravel has the following database drivers:
在网上快速搜索后,我得到了this 3rd party package.
Laravel MongoDB
使用支持MongoDB的Eloquent模型和查询构建器,使用 原始的Laravel API。该库扩展了原始的Laravel 类,因此它使用完全相同的方法。