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导入Excel到MySQL的方法
Apr 23 PHP
基于MySQL到MongoDB简易对照表的详解
Jun 03 PHP
thinkphp3查询mssql数据库乱码解决方法分享
Feb 11 PHP
php目录遍历函数opendir用法实例
Nov 20 PHP
PHP date函数常用时间处理方法
May 11 PHP
php发送邮件的问题详解
Jun 22 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
Jul 06 PHP
php实现处理输入转义字符的代码
Nov 08 PHP
Yii2 rbac权限控制操作步骤实例教程
Apr 29 PHP
PHP编写daemon process 实例详解
Nov 13 PHP
PHP实现链表的定义与反转功能示例
Jun 09 PHP
PHP中数组转换为SimpleXML教程
Jan 27 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面试题(对属性或方法的访问控制)
2012/09/13 PHP
php动态变量定义及使用
2015/06/10 PHP
phpStudy访问速度慢和启动失败的解决办法
2015/11/19 PHP
Yii编程开发常见调用技巧集锦
2016/07/15 PHP
Dojo 学习笔记入门篇 First Dojo Example
2009/11/15 Javascript
再谈javascript 动态添加样式规则 W3C校检
2009/12/25 Javascript
JavaScript 参数中的数组展开 [译]
2012/09/21 Javascript
JavaScript prototype属性深入介绍
2012/11/27 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
2015/03/31 Javascript
微信小程序  简单实例(阅读器)的实例开发
2016/09/29 Javascript
详解js中==与===的区别
2017/01/08 Javascript
angularJS 指令封装回到顶部示例详解
2017/01/22 Javascript
Vuex之理解state的用法实例
2017/04/19 Javascript
JS实现遍历不规则多维数组的方法
2018/03/21 Javascript
浅谈nuxtjs校验登录中间件和混入(mixin)
2020/11/06 Javascript
[00:52]玛尔斯技能全介绍
2019/03/06 DOTA
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
2013/11/15 Python
Python中实现两个字典(dict)合并的方法
2014/09/23 Python
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
python中如何使用正则表达式的非贪婪模式示例
2017/10/09 Python
Python 查看文件的编码格式方法
2017/12/21 Python
详解python中的 is 操作符
2017/12/26 Python
Python中将变量按行写入txt文本中的方法
2018/04/03 Python
mac 安装python网络请求包requests方法
2018/06/13 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
Flask框架搭建虚拟环境的步骤分析
2019/12/21 Python
python实现逢七拍腿小游戏的思路详解
2020/05/26 Python
Pycharm生成可执行文件.exe的实现方法
2020/06/02 Python
CSS3实现银灰色动画效果的导航菜单代码
2015/09/01 HTML / CSS
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
小学教育毕业生自荐信
2013/11/18 职场文书
教师演讲稿范文
2014/01/08 职场文书
思想品德自我评价
2014/02/04 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
优秀班组申报材料
2014/12/25 职场文书