您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“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
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 的
點(diǎn)進(jìn)去拉到最下方
4、將下載到的壓縮包內(nèi)的 php_mongodb.dll 文件復(fù)制到 php7.3.4 下的ext文件夾內(nèi)
5、在php.ini中寫入extension=mongodb
6、cmd 執(zhí)行 php -v 查看運(yùn)行是否正常
7、再次使用 composer 命令下載,如果不出意外的話,可以看到:
8、這樣就是安裝成功了
9、注冊服務(wù) ,在app/config/app.php文件
Jenssegers\Mongodb\MongodbServiceProvider::class
'Mongo' => Jenssegers\Mongodb\MongodbServiceProvider::class,
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', ''), ],
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ù)庫”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(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)容。