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 內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文地址:https://blog.csdn.net/m0_62199749/article/details/123230443