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单件模式结合命令链模式使用说明
Sep 07 PHP
PHP自动选择 连接本地还是远程数据库
Dec 02 PHP
PHP如何抛出异常处理错误
Mar 02 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
微信扫描二维码登录网站代码示例
Dec 30 PHP
Yii框架中memcache用法实例
Dec 03 PHP
php中memcache 基本操作实例
May 17 PHP
PHP程序中使用adodb连接不同数据库的代码实例
Dec 19 PHP
PHP实现图片上传并压缩
Dec 22 PHP
PHP实现的常规正则验证helper公共类完整实例
Apr 27 PHP
[原创]php正则删除img标签的方法示例
May 27 PHP
laravel框架学习笔记之组件化开发实现方法
Feb 01 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
tp5.1 框架数据库-数据集操作实例分析
2020/05/26 PHP
锋利的jQuery jQuery中的DOM操作
2010/03/21 Javascript
javascript 获取页面的高度及滚动条的位置的代码
2010/05/06 Javascript
jquery下组织javascript代码(js函数化)
2010/08/25 Javascript
基于jQuery的message插件实现右下角弹出消息框
2011/01/11 Javascript
jQuery 1.5 源码解读 面向中高阶JSER
2011/04/05 Javascript
JS TextArea字符串长度限制代码集合
2012/10/31 Javascript
Bootstrap 组件之按钮(二)
2016/05/11 Javascript
js实现浏览器倒计时跳转页面效果
2016/08/12 Javascript
详解Vue CLI 3.0脚手架如何mock数据
2018/11/23 Javascript
p5.js临摹旋转爱心
2019/10/23 Javascript
vue treeselect获取当前选中项的label实例
2020/08/31 Javascript
[01:03:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第一场 1月29日
2021/03/11 DOTA
python 中的列表解析和生成表达式
2011/03/10 Python
python实现监控linux性能及进程消耗性能的方法
2014/07/25 Python
Python实现数值积分方式
2019/11/20 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
2020/03/24 Python
基于Django signals 信号作用及用法详解
2020/03/28 Python
python集合能干吗
2020/07/19 Python
python单元测试框架pytest的使用示例
2020/10/07 Python
Python新建项目自动添加介绍和utf-8编码的方法
2020/12/26 Python
倩碧美国官网:Clinique美国
2016/07/20 全球购物
档案信息化建设方案
2014/05/16 职场文书
小学生放飞梦想演讲稿
2014/08/26 职场文书
运动会跳远广播稿5篇
2014/09/17 职场文书
正风肃纪查摆剖析材料
2014/10/10 职场文书
教育项目合作协议书格式
2014/10/17 职场文书
后备干部推荐材料
2014/12/24 职场文书
小学一年级学生评语大全
2014/12/25 职场文书
医德医风个人总结
2015/02/28 职场文书
党员志愿者服务倡议书
2015/04/29 职场文书
工厂员工辞职信范文
2015/05/12 职场文书
2016年学校爱国卫生月活动总结
2016/04/06 职场文书
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书
无线电通信名词解释
2022/02/18 无线电
Python实现双向链表基本操作
2022/05/25 Python