- MongoDB作为nosql数据,MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案
mongodb拓展安装
下载好mongodb数据库并进行安装启动
根据自己使用的PHP版本进行选择相应的拓展版本进行下载
以windows下为例下载DDL文件放在php的ext拓展文件下,打开php.ini进行配置
在命令行中 php -m
进行查看
laravel使用mongodb
Larave | Package |
---|---|
4.2.x | 2.0.x |
5.0.x | 2.1.x |
5.1.x | 2.2.x or 3.0.x |
5.2.x | 2.3.x or 3.0.x |
5.3.x | 3.1.x or 3.2.x |
5.4.x | 3.2.x |
5.5.x | 3.3.x |
5.6.x | 3.4.x |
5.7.x | 3.4.x |
5.8.x | 3.5.x |
6.x | 3.6.x |
7.x | 3.7.x |
- 根据laravel版本安装对应的拓展包,这里以laravel5.6为例
composer require jenssegers/mongodb 3.4.*
config/app.php
文件中进行配置
Jenssegers\Mongodb\MongodbServiceProvider::class,
- 配置数据库驱动,打开文件
config/database.php
'mongodb' => [
'driver' => 'mongodb',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', 27017),
'database' => env('DB_DATABASE', 'test'),
'username' => env('DB_USERNAME', ''),
'password' => env('DB_PASSWORD', ''),
'options' => [
// here you can pass more settings to the Mongo Driver Manager
// see https://www.php.net/manual/en/mongodb-driver-manager.construct.php under "Uri Options" for a list of complete parameters that you can use
'database' => env('DB_AUTHENTICATION_DATABASE', 'admin'), // required with Mongo 3+
],
],
- env配置文件可进行配置,mongodb默认无用户名与密码
DB_CONNECTION=mongodb
DB_HOST=127.0.0.1
DB_PORT=27017
DB_DATABASE=test
DB_USERNAME=
DB_PASSWORD=
- 新建数据库模型
<?php
namespace App\Models;
use Jenssegers\Mongodb\Eloquent\Model;
class Test extends Model
{
protected $table='test';
protected $guarded =[];
}
- 控制器中进行使用,更多用法见文档
public function index()
{
Test::create(['name'=>'test']);
return Test::where('name','test')->get();
}