Laravel安装使用MongoDB

1.php先安装mongodb扩展(连接的服务器或本地需要先安装mongodb==>传送门:https://www.jianshu.com/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执行php -v查看运行是否正常

php -v
image.png

2.laravel安装使用mongodb的Eloquent模型(最好是指定版本,高版本容易出现一些未修复的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)"
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容