Laravel 框架中使用 MongoDB 数据库的操作

1、先确定好自己使用的哪个版本的 Laravel 框架,再决定 composer 哪一个的 MongoDB,我使用的是 Laravel 8 所以我 composer 了 3.8 的MongoDb

2、执行 composer 命令,进行下载,我是用的是第二个命令

composer require jenssegers/mongodb ^3.8 -vvv
composer require jenssegers/mongodb:3.8  --ignore-platform-reqs

3、这个时候可能会报错,所以要做以下操作

  • php先安装mongodb扩展(连接的服务器或本地需要先安装mongodb)
  • 下载地址:https://pecl.php.net/package/mongodb
  • 在这里根据你的 PHP 版本进行选择,我的是 7.3.4 的,所以我选择 1.6.0 的

点进去拉到最下方

4、将下载到的压缩包内的 php_mongodb.dll 文件复制到 php7.3.4 下的ext文件夹内

5、在php.ini中写入extension=mongodb

6、cmd 执行 php -v 查看运行是否正常

7、再次使用 composer 命令下载,如果不出意外的话,可以看到:

8、这样就是安装成功了

9、注册服务 ,在app/config/app.php文件

Jenssegers\Mongodb\MongodbServiceProvider::class

'Mongo' => Jenssegers\Mongodb\MongodbServiceProvider::class,

10、修改数据库配置文件 config/database.php 中

'mongodb' => [
            'driver'   => 'mongodb',
            'host'     => env('MONGODB_HOST', '127.0.0.1'),
            'port'     => env('MONGODB_POST', '27017'),
            'database' => env('MONGODB_DB', 'phone'),
            'username' => env('MONGODB_USER', ''),
            'password' => env('MONGODB_PASSWORD', ''),
        ],

11、在 .env 文件中加入

MONGODB_HOST=127.0.0.1
MONGODB_POST=27017
MONGODB_DB=phone
DB_USERNAME=
DB_PASSWORD=

12、接下来就可以在控制器中使用了

//添加
pubulic function index(){
    DB::connection('mongodb')       //选择使用mongodb
        ->collection('users')           //选择使用users集合
        ->insert([                          //插入数据
            'name'  =>  'tom',
            'age'     =>   18
        ]);
}
$res = DB::connection('mongodb')->collection('phone')->get()->toArray();   //查询所有数据
dd($res);

13、查询时也可以增加查询条件

$res = DB::connection('mongodb')->collection('phone')->where('name','tom')->first();

14、修改某个数据

DB::connection('mongodb')->collection('phone')->where('_id', '5cf71b34e14620598643d23b')->update(['name'=>'123']);

15、删除某个数据

$res = DB::connection('mongodb')->collection('phone')->where('name','tom')->delete();

16、我们也可以使用模型层来操作,新建一个模型层

<?php
    namespace App\Model;
    use Moloquent;
    use DB;

    class Users extends Model
    {
        protected $connection = 'mongodb';  //库名
        protected $collection = 'phone';     //文档名
        protected $primaryKey = '_id';    //设置id
        protected $fillable = ['id', 'name', 'phone'];  //设置字段白名单
    }

17、在控制器中这样使用:

public function index(){
    Users::create([                      //插入数据
        'id'     =>1,
        'name'   =>'tom',
        'phone'  =>110]);
    }

    dd(Users::all());          //查询并打印数据

18、最后,我们也可以在可视化工具中查看数据

到此这篇关于Laravel 框架中使用 MongoDB 数据库的文章就介绍到这了,更多相关Laravel使用 MongoDB 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

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

    * 推荐组件 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

  • 在Laravel中使用MongoDB的方法示例

    MongoDB实用场景 产品用户访问日志,点击埋点统计信息 业务系统环境参数配置信息 业务系统运行时日志,如laravel.log,nginx.log 使用Homebrew在macoOS安装MongoDB PHP Driver 在macOS中,MongoDB 扩展已经从Homebrew仓库中移除,需要通过pecl安装此扩展. $ sudo pecl install mongodb -v ... Build process completed successfully Installing '/u

  • Laravel 框架中使用 MongoDB 数据库的操作

    1.先确定好自己使用的哪个版本的 Laravel 框架,再决定 composer 哪一个的 MongoDB,我使用的是 Laravel 8 所以我 composer 了 3.8 的MongoDb 2.执行 composer 命令,进行下载,我是用的是第二个命令 composer require jenssegers/mongodb ^3.8 -vvv composer require jenssegers/mongodb:3.8 --ignore-platform-reqs 3.这个时候可能会报

  • Laravel框架中的路由和控制器操作实例分析

    本文实例讲述了Laravel框架中的路由和控制器操作.分享给大家供大家参考,具体如下: 路由 简介: 将用户的请求转发给相应的程序进行处理 作用:建立url和程序之间的映射 请求类型:get.post.put.patch.delete 目录:app/http/routes.php 基本路由:接收单种请求类型 //get请求 Route::get('hello1',function(){ return 'hello world'; }) //post请求 Route::post('hello2',

  • Laravel框架中队列和工作(Queues、Jobs)操作实例详解

    在我们的web应用中,经常会遇到这样的情况: 用户在进行了某项操作后,我们需要在后台完成一个耗时且耗费资源的任务,以对应用户的操作. 通常来说,web应用中的操作都是同步的(synchronous),即用户的操作可以立即得到回馈. 但是在以上情况下,同步等待操作结果将是灾难性的.比如用户点击了申请密码重置邮件,倘若我们让用户一直停滞在等待页面,直至邮件发送成功,那么用户体验将非常地不好,因为有时候可能需要很长的时间才能将邮件发送完成. 从另一个角度来说,如果我们服务器处于高负荷的情况,当多个用户

  • Spring Boot中使用MongoDB数据库的方法

    MongoDB数据库简介 简介 MongoDB是一个高性能,开源,无模式的,基于分布式文件存储的文档型数据库,由C++语言编写,其名称来源取自"humongous",是一种开源的文档数据库──NoSql数据库的一种.NoSql,全称是 Not Only Sql,指的是非关系型的数据库. 特点 MongoDB数据库的特点是高性能.易部署.易使用,存储数据非常方便.主要功能特性有: * 面向集合存储,易存储对象类型的数据. * 模式自由. * 支持动态查询. * 支持完全索引,包含内部对象

  • Laravel框架Request、Response及Session操作示例

    本文实例讲述了Laravel框架Request.Response及Session操作.分享给大家供大家参考,具体如下: Request操作 public function request(Request $request){ //1.取值 //echo $request->input('name'); //echo $request->input('sex','未知'); /*if($request->has('name')){ echo $request->input('name

  • Laravel框架中缓存的使用方法分析

    本文实例讲述了Laravel框架中缓存的使用方法.分享给大家供大家参考,具体如下: 1. Laravel为各种不同的缓存系统提供了一致的API,支持的缓存有File.Memcached和Redis等 2. 主要方法 put().add().forever().has().get().pull().forget() 3. 配置文件路径 /config/cache.php 4. 添加路由 Route::get('/cache1', 'HomeController@cache1'); Route::g

  • Laravel框架实现的rbac权限管理操作示例

    本文实例讲述了Laravel框架实现的rbac权限管理操作.分享给大家供大家参考,具体如下: 介绍:根据不同的权限,在菜单栏显示不同的功能,只对菜单进行了限制,若对路由也进行限制,请自行完善 1.建表(用户表.角色表.权限表.用户角色表.角色权限表) CREATE TABLE IF NOT EXISTS mr_role ( id int(11) PRIMARY KEY AUTO_INCREMENT COMMENT '自增id', name varchar(30) NOT NULL COMMENT

  • Laravel框架自定义公共函数的引入操作示例

    本文实例讲述了Laravel框架自定义公共函数的引入操作.分享给大家供大家参考,具体如下: 背景 习惯了 使用 ThinkPHP 框架,有一个公共方法类在代码编写上会快捷很多,所以有必要在此进行配置一番. 测试框架:Laravel 5.5 步骤指导 1. 创建 functions.php 在 app/Helpers/(目录可以自己随便来)下新建一个文件 functions.php,在内部补充如下代码: <?php /** * Created by PhpStorm. * User: moTzxx

  • laravel框架中视图的基本使用方法分析

    本文实例讲述了laravel框架中视图的基本使用方法.分享给大家供大家参考,具体如下: laravel中的视图默认保存在 resources\views 目录下.在控制器中,我们通常使用 view() 方法返回一个视图文件. <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class TestController extends Controller { public function test(Request

随机推荐