服务器之家

服务器之家 > 正文

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

时间:2022-03-03 23:11     来源/作者:Dragon-v

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

Laravel 框架中使用 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 的

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

 点进去拉到最下方

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

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

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

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

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

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

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

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

8、这样就是安装成功了

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

JenssegersMongodbMongodbServiceProvider::class

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

"Mongo" => JenssegersMongodbMongodbServiceProvider::class,

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

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", ""),
        ],

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

 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 AppModel;
    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 数据库的文章就介绍到这了,更多相关Laravel使用 MongoDB 内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/m0_62199749/article/details/123230443

标签:

相关文章

热门资讯

2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
返回顶部