安裝 Laravel-MongoDB
- 推薦組件
composer require jenssegers/mongodb
- 注冊服務
Jenssegers\Mongodb\MongodbServiceProvider::class,
- 添加 Facades
'Mongo' => Jenssegers\Mongodb\MongodbServiceProvider::class,
- 修改數據庫配置文件 config/database.php 中
添加 MongoDB 的數據庫的信息: 'mongodb' => [ 'driver' => 'mongodb', 'host' => 'localhost', 'port' => 27017, 'database' => 'mydb', 'username' => '', 'password' => '', ], 'default' => env('DB_CONNECTION', 'mysql'), 改成: 'default' => env('DB_CONNECTION', 'mongodb'),
使用篇
查詢構造器
// 建立一個 UserController.php 控制器 php artisan make:controller UserController 參考代碼: use DB; //引用數據庫 class MongoController extends Controller{ pubulic function index(){ DB::collection('users') //選擇使用users集合 ->insert([ //插入數據 'name' => 'tom', 'age' => 18 ]); } $res = DB::collection('users')->all(); //查詢所有數據 dd($res); //打印數據 }
- 設置一個訪問路由,然后測試
如果你沒有修改默認的數據庫配置 (默認還是 MySQL), 那么你在使用 MongoDB 的時候就要指定使用 MongoDB 了
- 例如:
use DB; //引用數據庫 class MongoController extends Controller{ pubulic function index(){ DB::connection('mongodb') //選擇使用mongodb ->collection('users') //選擇使用users集合 ->insert([ //插入數據 'name' => 'tom', 'age' => 18 ]); } $res = DB::connection('mongodb')->collection('users')->all(); //查詢所有數據 dd($res); //打印數據 }
有關查詢構造器的使用和 MySQLi 的方式是一樣的,參照
Laravel 文檔查詢構造器
Eloquent 模型
- 在 config/app.php 配置文件中配置 MongoDB 的 Eloquent 類的別名
'Moloquent' => 'Jenssegers\Mongodb\Eloquent\Model',
- 新建一個 User.php 的 Model 類
php artisan make:model User
- 參考代碼
<?php namespace App; use Moloquent; use DB; class Users extends Moloquent{ protected $connection = 'mongodb'; //庫名 protected $collection = 'users'; //文檔名 protected $primaryKey = '_id'; //設置id protected $fillable = ['id', 'name', 'phone']; //設置字段白名單 }
- 在 UserController.php 控制器中這樣使用
<?phpnamespace App\Http\Controllers; use App\Users; //引入Users模型 class MongoController extends Controller{ public function index(){ Users::create([ //插入數據 'id' =>1, 'name' =>'tom', 'phone' =>110]); } dd(Users::all()); //查詢並打印數據