Laravel框架中集成MongoDB和使用詳解
* 推薦組件
composer require jenssegers/mongodb ^3.3 -vvv(本人的laravel版本是5.5)
修改config/app.php
* 注冊服務(wù)
Jenssegers\Mongodb\MongodbServiceProvider::class,
* 添加 Facades
'Mongo' => Jenssegers\Mongodb\MongodbServiceProvider::class,
* 修改數(shù)據(jù)庫配置文件 config/database.php 中
添加 MongoDB 的數(shù)據(jù)庫的信息:
'mongodb' => [ 'driver' => 'mongodb', 'host' => 'localhost', 'port' => 27017, 'database' => 'mydb', 'username' => '', 'password' => '', ],
'default' => env('DB_CONNECTION', 'mysql'),
改成:
'default' => env('DB_CONNECTION', 'mongodb'),
修改配置文件.env
DB_CONNECTION=mongodb // 建立一個 UserController.php 控制器 php artisan make:controller UserController public function index(){ DB::collection('users') //選擇使用users集合 ->insert([ //插入數(shù)據(jù) 'name' => 'wjb', 'age' => 29 ]); $res = DB::collection('users')->get(); //查詢所有數(shù)據(jù) dd($res); }
* 設(shè)置一個訪問路由, 此時時已成功插入和讀取mongodb的數(shù)據(jù)
Eloquent 模型
* 在 config/app.php 配置文件中配置 MongoDB 的 Eloquent 類的別名
'Moloquent' => 'Jenssegers\Mongodb\Eloquent\Model',
* 新建一個 User.php 的 Model 類
php artisan make:model User
* 修改User模型
<?php namespace App; use Moloquent; use DB; class User extends Moloquent { protected $connection = 'mongodb'; //庫名 protected $collection = 'users'; //文檔名 protected $primaryKey = '_id'; //設(shè)置id protected $fillable = ['id', 'name', 'phone']; //設(shè)置字段白名單 }
UserController.php控制器中修改:
<?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([ //插入數(shù)據(jù) '_id' =>1, 'name' =>'boss', 'phone' =>1308888888 ]); dd(User::all()); //查詢并打印數(shù)據(jù) } }
以上這篇Laravel框架中集成MongoDB和使用詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
codeigniter集成ucenter1.6雙向通信的解決辦法
用codeigniter開發(fā)一個子網(wǎng)站,之后想和原來的論壇進行同步,包括同步登陸和雙向通信。這篇文章主要介紹了codeigniter集成ucenter1.6雙向通信的解決辦法,需要的朋友可以參考下2014-06-06laravel框架模型和數(shù)據(jù)庫基礎(chǔ)操作實例詳解
這篇文章主要介紹了laravel框架模型和數(shù)據(jù)庫基礎(chǔ)操作,結(jié)合實例形式詳細分析了laravel框架模型的定義及數(shù)據(jù)庫的增刪改查等相關(guān)操作技巧,需要的朋友可以參考下2020-01-01ThinkPHP3.2框架使用addAll()批量插入數(shù)據(jù)的方法
這篇文章主要介紹了ThinkPHP3.2框架使用addAll()批量插入數(shù)據(jù)的方法,結(jié)合實例形式分析了thinkPHP針對單條數(shù)據(jù)插入及批量數(shù)據(jù)插入操作的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2017-03-03PHP給文字內(nèi)容中的關(guān)鍵字進行套紅處理
本文介紹了一個PHP中的函數(shù),可以對內(nèi)容的關(guān)鍵字進行套紅,高亮突出顯示關(guān)鍵字,分享給大家,希望對大家有所幫助。2016-04-04解決laravel groupBy 對查詢結(jié)果進行分組出現(xiàn)的問題
今天小編就為大家分享一篇解決laravel groupBy 對查詢結(jié)果進行分組出現(xiàn)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10laravel model模型定義實現(xiàn)開啟自動管理時間created_at,updated_at
今天小編就為大家整理了一篇laravel model模型定義實現(xiàn)開啟自動管理時間created_at,updated_at,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10