1.php先安裝mongodb擴展(連接的服務器或本地需要先安裝mongodb==>傳送門:http://m.itdecent.cn/p/86d0714d8f9d)
下載地址:https://pecl.php.net/package/mongodb

image.png

image.png
示例為windows64位:
1)將下載到的壓縮包內的php_mongodb.dll文件復制到php7.2下的ext文件夾內
2)在php.ini中寫入extension=mongodb
extension=mongodb

image.png
3)cmd執(zhí)行php -v查看運行是否正常
php -v

image.png
2.laravel安裝使用mongodb的Eloquent模型(最好是指定版本,高版本容易出現(xiàn)一些未修復的bug)
composer require jenssegers/mongodb:3.6 --ignore-platform-reqs
3.config下的database.php設置mongodb信息
#可以寫在了.env文件
'ge_mongodb' => [
'driver' => 'mongodb',
'host' => env('MONGODB_HOST', '127.0.0.1'),
'port' => env('MONGODB_POST', '27017'),
'database' => env('MONGODB_DB', 'users'),
'username' => env('MONGODB_USER', ''),
'password' => env('MONGODB_PASSWORD', ''),
],
4.Model引入
<?php
namespace App\Lib;
use Jenssegers\Mongodb\Eloquent\Model;
class MongodbUser extends Model{
//用戶的mongodb集合
protected $connection = 'ge_mongodb'; //連接名
protected $collection = 'users'; //集合名稱
protected $primaryKey = '_id'; //設置id
public $timestamps = false;
protected $fillable = ['name', 'age', 'create_time']; //設置字段白名單
}
5.調用
<?php
namespace App\Http\Controllers;
use App\Lib\MongodbUser;
class TestController extends Controller
{
//測試
public function test(){
//插入
$mongo = MongodbUser::create([
'name' => '小李子',
'age' => 20
]);
//查詢
$info = MongodbUser::where('_id','6139bf4d3f3fd3498c0001b3')->get()->toArray();//單條查詢
$list = MongodbUser::get()->toArray();//多條查詢
//刪除
$delete = MongodbUser::where('_id','6139c4873f3fd3498c0001b4')->delete();
var_dump($delete);//返回"int(1)"
//更新
$update = MongodbUser::where('_id', '6139bf1cad844ba5a13d67c4')->update(['name'=>'小小潘','age'=>19]);
var_dump($update);//返回"int(1)"
}
}