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


Posted in PHP onOctober 17, 2019

* 推荐组件

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和使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
第二章 PHP入门基础之php代码写法
Dec 30 PHP
php文件上传的简单实例
Oct 19 PHP
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
Jan 17 PHP
使用PHP Socket 编程模拟Http post和get请求
Nov 25 PHP
php通过baihui网API实现读取word文档并展示
Jun 22 PHP
php简单生成随机数的方法
Jul 30 PHP
Yii快速入门经典教程
Dec 28 PHP
php常用字符函数实例小结
Dec 29 PHP
详解php 使用Callable Closure强制指定回调类型
Oct 26 PHP
PHP工厂模式的日常使用
Mar 20 PHP
php时间戳转换代码详解
Aug 04 PHP
PHP标准库 (SPL)――Countable用法示例
Jun 05 PHP
解决laravel中日志权限莫名变成了root的问题
Oct 17 #PHP
关于laravel 日志写入失败问题汇总
Oct 17 #PHP
自定义Laravel (monolog)日志位置,并增加请求ID的实现
Oct 17 #PHP
详解Laravel设置多态关系模型别名的方式
Oct 17 #PHP
Laravel 5.5 异常处理 &amp; 错误日志的解决
Oct 17 #PHP
PHP封装请求类实例分析【基于Yii框架】
Oct 17 #PHP
使用laravel指定日志文件记录任意日志
Oct 17 #PHP
You might like
十天学会php(3)
2006/10/09 PHP
在PHP中操作Excel实例代码
2010/04/29 PHP
php Notice: Undefined index 错误提示解决方法
2010/08/29 PHP
php的zip解压缩类pclzip使用示例
2014/03/14 PHP
详解php协程知识点
2018/09/21 PHP
js 目录列举函数
2008/11/06 Javascript
jquery getScript动态加载JS方法改进详解
2012/11/15 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
jQuery之字体大小的设置方法
2014/02/27 Javascript
12行javascript代码绘制一个八卦图
2015/04/02 Javascript
jquery实现像栅栏一样左右滑出式二级菜单效果代码
2015/08/24 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
2016/07/14 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
JQuery获取鼠标进入和离开容器的方向
2016/12/29 Javascript
详解Vue中一种简易路由传参办法
2017/09/15 Javascript
canvas+gif.js打造自己的数字雨头像的示例代码
2017/10/26 Javascript
基于bootstrap写的一点localStorage本地储存
2017/11/21 Javascript
使用pkg打包Node.js应用的方法步骤
2018/10/19 Javascript
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
2019/06/04 Javascript
微信小程序之几种常见的弹框提示信息实现详解
2019/07/11 Javascript
javascript面向对象三大特征之多态实例详解
2019/07/24 Javascript
Vue路由守卫之路由独享守卫
2019/09/25 Javascript
vue 路由守卫(导航守卫)及其具体使用
2020/02/25 Javascript
wxPython定时器wx.Timer简单应用实例
2015/06/03 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
2016/06/02 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
2019/06/13 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
2019/10/24 Python
Python实现Keras搭建神经网络训练分类模型教程
2020/06/12 Python
CSS3支持IE6, 7, and 8的边框border属性
2012/12/28 HTML / CSS
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
澳大利亚墨水站Ink Station:墨水和碳粉打印机墨盒
2019/03/24 全球购物
95%的面试官都会问到的50道Java线程题,附答案
2012/08/03 面试题
银行求职信
2014/05/31 职场文书
房屋租房协议书范本
2014/12/04 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书