Laravel框架中如何使用MongoDB数据库
这篇文章主要为大家展示了"Laravel框架中如何使用MongoDB数据库",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"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.1MONGODB_POST=27017MONGODB_DB=phoneDB_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、我们也可以使用模型层来操作,新建一个模型层
17、在控制器中这样使用:
public function index(){ Users::create([ //插入数据 'id' =>1, 'name' =>'tom', 'phone' =>110]); } dd(Users::all()); //查询并打印数据18、最后,我们也可以在可视化工具中查看数据
以上是"Laravel框架中如何使用MongoDB数据库"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!