Lavarel 框架 MongoDB 的使用

一、在项目的根目录执行命令

composer require jenssegers/mongodb

二、在\config\app.php中注册服务

'providers' => [
        Jenssegers\Mongodb\MongodbServiceProvider::class,//mongodb
    ],
'aliases' => [
        'Mongo' => Jenssegers\Mongodb\MongodbServiceProvider::class, //mongodb
    ],

三、修改数据库配置文件 config/database.php

'connections' => [
       // 添加如下配置
        'mongodb' => [
            'driver'   => 'mongodb',
            'host'     => env('MONGO_DB_HOST', ''),
            'port'     => env('MONGO_DB_PORT', 27017),
            'database' => env('MONGO_DB_DATABASE',''),
            'username' => env('MONGO_DB_USERNAME',''),
            'password' => env('MONGO_DB_PASSWORD',''),
        ],
    ],

五、env文件中添加如下配置

MONGO_DB_HOST=127.0.0.1
MONGO_DB_PORT=27017
MONGO_DB_DATABASE=admin
MONGO_DB_USERNAME=yang
MONGO_DB_PASSWORD=666666

六、创建 demo 模型 (我这里面继承了一个 BaseMongo 类)
在这里插入图片描述
BaseMongo.php

<?php

namespace Common\MongodbModel;

use Jenssegers\Mongodb\Eloquent\Model;

class BaseMongo extends Model
{
    protected $connection = 'mongodb';//等价于数据库

    /*public  function __construct(array $attributes = [])
    {
        parent::__construct($attributes);
    }*/
}

MongoDemo.php

<?php

namespace Common\MongodbModel;

class MongoDemo extends BaseMongo
{
    //这是一个demo
    protected $collection = 'demo';   //等价于数据表
    protected $guarded = [];          //设置字段白名单
    protected $primaryKey = '_id';     //设置id
    protected $dates = ['deleted_at'];
}

七、添加与获取
在这里插入图片描述
MongoDB视图工具查看存入结果
在这里插入图片描述
PHP打印获取结果
在这里插入图片描述

<?php

namespace Modules\Admin\Http\Controllers;

use Common\MongodbModel\MongoDemo;
use App\Http\Controllers\Controller;
class IndexController extends Controller
{
    public function menu()
    {
        MongoDemo::insert(['name'=>'yang','sex'=>'男', 'age'=> 28]);//存入
        $res = MongoDemo::take(5)->get()->toarray();                //取出
        //$user = MongoDemo::find('5f44bbe2f6966e1de4005b52')->toArray();//根据id取出
        dd($res);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值