* 推荐组件
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 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' => '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和使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持黑区网络。