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 中
添加 MongoDB 的数据库的信息:
?1 2 3 4 5 6 7 8 | 'mongodb' => [ 'driver' => 'mongodb' , 'host' => 'localhost' , 'port' => 27017, 'database' => 'mydb' , 'username' => '' , 'password' => '' , ], |
'default' => env('DB_CONNECTION', 'mysql'),
改成:
'default' => env('DB_CONNECTION', 'mongodb'),
修改配置文件.env
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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模型
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?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控制器中修改:
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <?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和使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/wangjinbao5566/article/details/79487047
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。