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 相关文章推荐
smarty的保留变量问题
Oct 23 PHP
PHP迭代器实现斐波纳契数列的函数
Nov 12 PHP
php stripslashes和addslashes的区别
Feb 03 PHP
PHP中常见的缓存技术实例分析
Sep 23 PHP
php打包压缩文件之ZipArchive方法用法分析
Apr 30 PHP
thinkPHP实现的省市区三级联动功能示例
May 05 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
浅谈thinkphp5 instance 的简单实现
Jul 30 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
PHP观察者模式实例分析【对比JS观察者模式】
May 22 PHP
laravel 如何实现引入自己的函数或类库
Oct 15 PHP
Laravel 自定命令以及生成文件的例子
Oct 23 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的库,结果发现很多东西
2006/12/31 PHP
PHP STRING 陷阱原理说明
2010/07/24 PHP
PHP5.5在windows安装使用memcached服务端的方法
2014/04/16 PHP
Yii中特殊行为ActionFilter的使用方法示例
2020/10/18 PHP
抽出www.templatemonster.com的鼠标悬停加载大图模板的代码
2007/07/11 Javascript
jQuery 注意事项 与原因分析
2009/04/24 Javascript
探索Emberjs制作一个简单的Todo应用
2012/11/07 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
jquery实现保存已选用户
2014/07/21 Javascript
JS实现一个列表中包含上移下移删除等功能
2014/09/24 Javascript
JS实现跟随鼠标闪烁转动色块的方法
2015/02/26 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
2015/05/19 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
Node.js编写爬虫的基本思路及抓取百度图片的实例分享
2016/03/12 Javascript
jquery siblings获取同辈元素用法实例分析
2016/07/25 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
微信小程序多音频播放进度条问题
2018/08/28 Javascript
微信小程序签到功能
2018/10/31 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
nestjs返回给前端数据格式的封装实现
2021/02/22 Javascript
pyqt5 使用cv2 显示图片,摄像头的实例
2019/06/27 Python
使用PyCharm进行远程开发和调试的实现
2019/11/04 Python
python3.7+selenium模拟淘宝登录功能的实现
2020/05/26 Python
python三引号如何输入
2020/07/06 Python
python中的测试框架
2020/11/13 Python
加拿大时尚床上用品零售商:QE Home | Quilts Etc
2018/01/22 全球购物
宝拉珍选英国官网:Paula’s Choice英国
2019/05/29 全球购物
介绍一下#error预处理
2015/09/25 面试题
毕业生的自我评价分享
2013/12/18 职场文书
大学生党员自我评价范文
2014/04/09 职场文书
国庆促销活动总结
2014/08/29 职场文书
总经理岗位职责
2015/02/04 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
庭外和解协议书
2016/03/23 职场文书
python基础学习之生成器与文件系统知识总结
2021/05/25 Python