首頁 > 軟體

Laravel 框架中使用 MongoDB 資料庫的操作

2022-03-03 19:02:29

1、先確定好自己使用的哪個版本的 Laravel 框架,再決定 composer 哪一個的 MongoDB,我使用的是 Laravel 8 所以我 composer 了 3.8 的MongoDb

2、執行 composer 命令,進行下載,我是用的是第二個命令

composer require jenssegers/mongodb ^3.8 -vvv
composer require jenssegers/mongodb:3.8  --ignore-platform-reqs

3、這個時候可能會報錯,所以要做以下操作

  •  php先安裝mongodb擴充套件(連線的伺服器或本地需要先安裝mongodb)
  • 下載地址:https://pecl.php.net/package/mongodb
  • 在這裡根據你的 PHP 版本進行選擇,我的是 7.3.4 的,所以我選擇 1.6.0 的

 點進去拉到最下方

4、將下載到的壓縮包內的 php_mongodb.dll 檔案複製到 php7.3.4 下的ext資料夾內

5、在php.ini中寫入extension=mongodb 

6、cmd 執行 php -v 檢視執行是否正常 

7、再次使用 composer 命令下載,如果不出意外的話,可以看到: 

8、這樣就是安裝成功了

9、註冊服務 ,在app/config/app.php檔案

JenssegersMongodbMongodbServiceProvider::class

'Mongo' => JenssegersMongodbMongodbServiceProvider::class,

10、修改資料庫組態檔 config/database.php 中 

'mongodb' => [
            'driver'   => 'mongodb',
            'host'     => env('MONGODB_HOST', '127.0.0.1'),
            'port'     => env('MONGODB_POST', '27017'),
            'database' => env('MONGODB_DB', 'phone'),
            'username' => env('MONGODB_USER', ''),
            'password' => env('MONGODB_PASSWORD', ''),
        ],

 11、在 .env 檔案中加入

MONGODB_HOST=127.0.0.1
MONGODB_POST=27017
MONGODB_DB=phone
DB_USERNAME=
DB_PASSWORD=

 12、接下來就可以在控制器中使用了

//新增
pubulic function index(){
    DB::connection('mongodb')       //選擇使用mongodb
        ->collection('users')           //選擇使用users集合
        ->insert([                          //插入資料
            'name'  =>  'tom', 
            'age'     =>   18
        ]);
}
$res = DB::connection('mongodb')->collection('phone')->get()->toArray();   //查詢所有資料
dd($res);

 13、查詢時也可以增加查詢條件

$res = DB::connection('mongodb')->collection('phone')->where('name','tom')->first();

14、修改某個資料

DB::connection('mongodb')->collection('phone')->where('_id', '5cf71b34e14620598643d23b')->update(['name'=>'123']);

 15、刪除某個資料

$res = DB::connection('mongodb')->collection('phone')->where('name','tom')->delete();

 16、我們也可以使用模型層來操作,新建一個模型層

<?php
    namespace AppModel;
    use Moloquent;
    use DB;
 
    class Users extends Model
    {    
        protected $connection = 'mongodb';  //庫名    
        protected $collection = 'phone';     //檔名    
        protected $primaryKey = '_id';    //設定id    
        protected $fillable = ['id', 'name', 'phone'];  //設定欄位白名單
    }

17、在控制器中這樣使用:

public function index(){
    Users::create([                      //插入資料
        'id'     =>1,
        'name'   =>'tom',
        'phone'  =>110]);
    }
 
    dd(Users::all());          //查詢並列印資料

18、最後,我們也可以在視覺化工具中檢視資料

到此這篇關於Laravel 框架中使用 MongoDB 資料庫的文章就介紹到這了,更多相關Laravel使用 MongoDB 內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com