Laravel框架中集成MongoDB和使用:

* 推薦組件
composer require jenssegers/mongodb ^3.3 -vvv(本人的laravel版本是5.5)
修改config/app.php
* 註冊服務
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'),

修改配置文件.env
DB_CONNECTION=mongodb
// 建立一個 UserController.php 控制器
php artisan make:controller UserController

public function index(){
   

DB::collection('users')               //選擇使用users集合
   

->insert([                          //插入數據
       

'name'  =>  'wjb',
       

'age'     =>   29
   

]);
   

$res = DB::collection('users')->get();  //查詢所有數據
   

dd($res);


}


* 設置一個訪問路由, 此時時已成功插入和讀取mongodb的數據

Eloquent 模型
* 在 config/app.php 配置文件中配置 MongoDB 的 Eloquent 類的別名
'Moloquent' => 'Jenssegers\Mongodb\Eloquent\Model',

* 新建一個 User.php 的 Model 類
php artisan make:model User
* 修改User模型

<?php



namespace App;



use Moloquent;


use DB;



class User extends Moloquent
{


protected $connection = 'mongodb';  //庫名


protected $collection = 'users';     //文檔名
   

protected $primaryKey = '_id';    //設置id
   

protected $fillable = ['id', 'name', 'phone'];  //設置字段白名單
}


UserController.php控制器中修改:

<?php



namespace App\Http\Controllers;



use Illuminate\Http\Request;


use Illuminate\Support\Facades\DB;


use App\User;


class UserController extends Controller
{
   

public function index(){
           

User::create([                      //插入數據
               

'_id'     =>1,
               

'name'   =>'boss',
               

'phone'  =>1308888888
           

]);
       

dd(User::all());          //查詢並打印數據
   

}


}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章