Laravel框架中集成MongoDB和使用详解

时间:2022-07-27
本文章向大家介绍Laravel框架中集成MongoDB和使用详解,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

* 推荐组件

composer require jenssegers/mongodb ^3.3 -vvv(本人的laravel版本是5.5)

修改config/app.php

* 注册服务

JenssegersMongodbMongodbServiceProvider::class,

* 添加 Facades

‘Mongo’ = JenssegersMongodbMongodbServiceProvider::class,

* 修改数据库配置文件 config/database.php 中

添加 MongoDB 的数据库的信息:

'mongodb' =  [ 
  'driver' =  'mongodb', 
  'host'  =  'localhost', 
  'port'  =  27017, 
  'database' =  'mydb', 
  'username' =  '', 
  'password' =  '',
],

‘default’ = env(‘DB_CONNECTION’, ‘mysql’),

改成:

‘default’ = env(‘DB_CONNECTION’, ‘mongodb’),

修改配置文件.env

DB_CONNECTION=mongodb
// 建立一个 UserController.php 控制器
php artisan make:controller UserController

public function index(){
 

DB::collection('users')    //选择使用users集合
 

- insert([       //插入数据
  

'name' =  'wjb',
  

'age'  =  29
 

]);
 

$res = DB::collection('users')- get(); //查询所有数据
 

dd($res);


}

* 设置一个访问路由, 此时时已成功插入和读取mongodb的数据

Eloquent 模型

* 在 config/app.php 配置文件中配置 MongoDB 的 Eloquent 类的别名

‘Moloquent’ = ‘JenssegersMongodbEloquentModel’,

* 新建一个 User.php 的 Model 类

php artisan make:model User

* 修改User模型

<?php



namespace App;



use Moloquent;


use DB;



class User extends Moloquent
{


protected $connection = 'mongodb'; //库名


protected $collection = 'users';  //文档名
 

protected $primaryKey = '_id'; //设置id
 

protected $fillable = ['id', 'name', 'phone']; //设置字段白名单
}

UserController.php控制器中修改:

<?php



namespace AppHttpControllers;



use IlluminateHttpRequest;


use IlluminateSupportFacadesDB;


use AppUser;


class UserController extends Controller
{
 

public function index(){
   

User::create([      //插入数据
    

'_id'  = 1,
    

'name' = 'boss',
    

'phone' = 1308888888
   

]);
  

dd(User::all());   //查询并打印数据
 

}


}

以上这篇Laravel框架中集成MongoDB和使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考。