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 相关文章推荐
php4的session功能评述(二)
Oct 09 PHP
ezSQL PHP数据库操作类库
May 16 PHP
php调用mysql数据 dbclass类
May 07 PHP
PHP 数据结构 算法描述 冒泡排序 bubble sort
Jul 10 PHP
MySQL 日期时间函数常用总结
Jun 12 PHP
基于php实现长连接的方法与注意事项的问题
May 10 PHP
PHP遍历目录并返回统计目录大小
Jun 09 PHP
php字符串替换函数substr_replace()用法实例
Mar 17 PHP
PHP连接access数据库
Mar 27 PHP
php HTML无刷新提交表单
Apr 05 PHP
thinkPHP5框架中widget的功能与用法详解
Jun 11 PHP
thinkphp5框架扩展redis类方法示例
May 06 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下载excel无法打开的解决方法
2013/12/24 PHP
PHP+MYSQL会员系统的开发实例教程
2014/08/23 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
jquery 插件学习(一)
2012/08/06 Javascript
封装好的js判断操作系统与浏览器代码分享
2015/01/09 Javascript
jquery制作 随机弹跳的小球特效
2015/02/01 Javascript
javascript中this的四种用法
2015/05/11 Javascript
AngularJS手动表单验证
2016/02/01 Javascript
JavaScript学习笔记之取数组中最大值和最小值
2016/03/23 Javascript
iScroll.js 使用方法参考
2016/05/16 Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
2016/05/31 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
JavaScript实现刷新不重记的倒计时
2016/08/10 Javascript
AngularJS实现select的ng-options功能示例
2017/07/12 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
2018/01/02 Javascript
nodejs结合Socket.IO实现的即时通讯功能详解
2018/01/12 NodeJs
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
jQuery 防止相同的事件快速重复触发方法
2018/02/08 jQuery
vue中实现点击变成全屏的多种方法
2020/09/27 Javascript
vue实现拖拽进度条
2021/03/01 Vue.js
python Django框架实现自定义表单提交
2016/03/25 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
Python实现手写一个类似django的web框架示例
2018/07/20 Python
浅谈python中get pass用法
2019/03/19 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
2019/07/07 Python
Python Socketserver实现FTP文件上传下载代码实例
2020/03/27 Python
Python类型转换的魔术方法详解
2020/12/23 Python
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
js实现移动端H5页面手指滑动刻度尺功能
2017/11/16 HTML / CSS
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
微信小程序之html5 canvas绘图并保存到系统相册
2019/06/20 HTML / CSS
购买英国原创艺术:Art Gallery
2018/08/25 全球购物
英国领先的在线礼品店:Getting Personal
2019/09/24 全球购物
电子商务专业求职信
2014/03/08 职场文书
机关单位2016年法制宣传日活动总结
2016/04/01 职场文书