Laravel 框架中使用 MongoDB 數據庫的操作

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文件

Jenssegers\Mongodb\MongodbServiceProvider::class

'Mongo' => Jenssegers\Mongodb\MongodbServiceProvider::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 App\Model;
    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 內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: