Laravel?框架中使用?MongoDB?數(shù)據(jù)庫(kù)的操作
1、先確定好自己使用的哪個(gè)版本的 Laravel 框架,再?zèng)Q定 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í)候可能會(huì)報(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中寫(xiě)入extension=mongodb
6、cmd 執(zhí)行 php -v 查看運(yùn)行是否正常
7、再次使用 composer 命令下載,如果不出意外的話(huà),可以看到:
8、這樣就是安裝成功了
9、注冊(cè)服務(wù) ,在app/config/app.php文件
Jenssegers\Mongodb\MongodbServiceProvider::class
'Mongo' => Jenssegers\Mongodb\MongodbServiceProvider::class,
10、修改數(shù)據(jù)庫(kù)配置文件 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、接下來(lái)就可以在控制器中使用了
//添加 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(); //查詢(xún)所有數(shù)據(jù) dd($res);
13、查詢(xún)時(shí)也可以增加查詢(xún)條件
$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、我們也可以使用模型層來(lái)操作,新建一個(gè)模型層
<?php namespace App\Model; use Moloquent; use DB; class Users extends Model { protected $connection = 'mongodb'; //庫(kù)名 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()); //查詢(xún)并打印數(shù)據(jù)
18、最后,我們也可以在可視化工具中查看數(shù)據(jù)
到此這篇關(guān)于Laravel 框架中使用 MongoDB 數(shù)據(jù)庫(kù)的文章就介紹到這了,更多相關(guān)Laravel使用 MongoDB 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MongoDB學(xué)習(xí)以及集群搭建的實(shí)踐全紀(jì)錄
這篇文章主要給大家介紹了關(guān)于MongoDB學(xué)習(xí)以及集群搭建的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09剖析后OpLog訂閱MongoDB的數(shù)據(jù)變更就沒(méi)那么難了
這篇文章主要為介紹了OpLog訂閱MongoDB的數(shù)據(jù)變更,希望讀完本文后讓你對(duì)OpLog訂閱MongoDB的數(shù)據(jù)變更不在頭疼,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-02-02mongodb添加arbiter節(jié)點(diǎn)的方法示例
這篇文章主要給大家分享了關(guān)于利用mongodb添加arbiter節(jié)點(diǎn)的方法示例,文中給出了詳細(xì)的示例代碼,相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-02-02MongoDB數(shù)據(jù)庫(kù)插入、更新和刪除操作詳解
這篇文章主要介紹了MongoDB數(shù)據(jù)庫(kù)插入、更新和刪除操作詳解,需要的朋友可以參考下2014-03-03Linux服務(wù)器快速安裝MongoDB5.0版本過(guò)程步驟
這篇文章主要為大家介紹了Linux服務(wù)器快速安裝MongoDB5.0版本過(guò)程步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12mongodb中隨機(jī)獲取1條記錄的實(shí)現(xiàn)方法
這篇文章運(yùn)用實(shí)例給大家演示了如何在mongodb中隨機(jī)獲取1條記錄,文中介紹的很詳細(xì),有需要的朋友們可以參考借鑒。下面來(lái)一起看看吧。2016-09-09MongoDB社區(qū)版和企業(yè)版的差別對(duì)照表
這篇文章主要介紹了MongoDB社區(qū)版和企業(yè)版的差別對(duì)照表,本文同時(shí)提供了中文和英文版的對(duì)照表,需要的朋友可以參考下2014-10-10