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

时间:2021-05-26

* 推荐组件

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

修改config/app.php

* 注册服务

Jenssegers\Mongodb\MongodbServiceProvider::class,

* 添加 Facades

'Mongo' => Jenssegers\Mongodb\MongodbServiceProvider::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 UserControllerpublic 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' => 'Jenssegers\Mongodb\Eloquent\Model',

* 新建一个 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 App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\User;
class UserController extends Controller
{
 public function index(){
 User::create([ //插入数据
 '_id' =>1,
 'name' =>'boss',
 'phone' =>1308888888
 ]);
 dd(User::all()); //查询并打印数据
 }
}

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章