使用Laravel将数据库从MariaDB切换到MongoDB
由于Laravel采用了MVC架构,所以只需更改模型部分就可以切换数据库。
例如,我们尝试使用Laravel创建MariaDB的API。
MariaDB和MongoDB都可以使用。
假设数据库名为city,用户名为scott,密码为tiger123,并且数据已经成功迁移。
1) 安装图书馆
composer require jenssegers/mongodb
2) 编辑config/app.php。
'providers' => [
// 略
Jenssegers\Mongodb\MongodbServiceProvider::class,
],
'aliases' => [
// 略
'Moloquent' => Jenssegers\Mongodb\Eloquent\Model::class,
],
3) 编辑 .env 文件
DB_CONNECTION=mongodb
DB_PORT=27017
4) 编辑 config/database.php
'default' => env('DB_CONNECTION', 'mongodb'),
// 略
'connections' => [
'mongodb' => [
'driver' => 'mongodb',
'host' => env('DB_HOST'),
'port' => env('DB_PORT'),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
],
],
5) 清除缓存
php artisan cache:clear
6)模型的编辑
<?php
namespace App\Models;
class City extends \Moloquent
{
protected $collection = 'saitama';
}
7) 服务器的启动
php artisan serve --host 0.0.0.0
8) 在客户端上访问
curl http://localhost:8000/api/city
curl http://localhost:8000/api/all
curl http://localhost:8000/api/where/岡山
curl http://localhost:8000/api/between/30000/50000