溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Laravel框架中如何使用MongoDB數(shù)據(jù)庫

發(fā)布時(shí)間:2022-03-04 09:11:02 來源:億速云 閱讀:247 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“Laravel框架中如何使用MongoDB數(shù)據(jù)庫”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Laravel框架中如何使用MongoDB數(shù)據(jù)庫”這篇文章吧。

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

Laravel框架中如何使用MongoDB數(shù)據(jù)庫

2、執(zhí)行 composer 命令,進(jìn)行下載,我是用的是第二個(gè)命令

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

3、這個(gè)時(shí)候可能會報(bào)錯(cuò),所以要做以下操作

  •  php先安裝mongodb擴(kuò)展(連接的服務(wù)器或本地需要先安裝mongodb)

  • 下載地址:https://pecl.php.net/package/mongodb

  • 在這里根據(jù)你的 PHP 版本進(jìn)行選擇,我的是 7.3.4 的,所以我選擇 1.6.0 的

Laravel框架中如何使用MongoDB數(shù)據(jù)庫

 點(diǎn)進(jìn)去拉到最下方

Laravel框架中如何使用MongoDB數(shù)據(jù)庫

4、將下載到的壓縮包內(nèi)的 php_mongodb.dll 文件復(fù)制到 php7.3.4 下的ext文件夾內(nèi)

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

Laravel框架中如何使用MongoDB數(shù)據(jù)庫

6、cmd 執(zhí)行 php -v 查看運(yùn)行是否正常 

Laravel框架中如何使用MongoDB數(shù)據(jù)庫

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

Laravel框架中如何使用MongoDB數(shù)據(jù)庫

8、這樣就是安裝成功了

9、注冊服務(wù) ,在app/config/app.php文件

Jenssegers\Mongodb\MongodbServiceProvider::class

Laravel框架中如何使用MongoDB數(shù)據(jù)庫

'Mongo' => Jenssegers\Mongodb\MongodbServiceProvider::class,

Laravel框架中如何使用MongoDB數(shù)據(jù)庫

10、修改數(shù)據(jù)庫配置文件 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', ''),
        ],

Laravel框架中如何使用MongoDB數(shù)據(jù)庫

 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([                          //插入數(shù)據(jù)
            'name'  =>  'tom', 
            'age'     =>   18
        ]);
}
$res = DB::connection('mongodb')->collection('phone')->get()->toArray();   //查詢所有數(shù)據(jù)
dd($res);

 13、查詢時(shí)也可以增加查詢條件

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

14、修改某個(gè)數(shù)據(jù)

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

 15、刪除某個(gè)數(shù)據(jù)

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

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

<?php
    namespace App\Model;
    use Moloquent;
    use DB;
 
    class Users extends Model
    {    
        protected $connection = 'mongodb';  //庫名    
        protected $collection = 'phone';     //文檔名    
        protected $primaryKey = '_id';    //設(shè)置id    
        protected $fillable = ['id', 'name', 'phone'];  //設(shè)置字段白名單
    }

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

public function index(){
    Users::create([                      //插入數(shù)據(jù)
        'id'     =>1,
        'name'   =>'tom',
        'phone'  =>110]);
    }
 
    dd(Users::all());          //查詢并打印數(shù)據(jù)

18、最后,我們也可以在可視化工具中查看數(shù)據(jù)

Laravel框架中如何使用MongoDB數(shù)據(jù)庫

以上是“Laravel框架中如何使用MongoDB數(shù)據(jù)庫”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI