在PHP项目中使用Mongodb
-
开始
首先PHP已经安装了Mongodb扩展
在Larvel项目中需要拉下一个mongodb的服务组件
composer require jenssegers/mongodb
因为网络问题可能会出错,多试几次就行了;或者用翻墙工具翻墙下载。
使用前的配置
-
修改config/app.php 在providers的数组中添加,注册服务
Jenssegers\Mongodb\MongodbServiceProvider::class,
在aliases数组中添加,设置别名
'Mongo' => Jenssegers\Mongodb\MongodbServiceProvider::class,
-
修改config/database.php 在connection数组中添加mongodb的配置信息,如下
// 新加的mongodb配置 'mongodb' => [ 'driver' => 'mongodb', 'host' => 'localhost', 'port' => 27017, 'database' => 'test', 'username' => '', 'password' => '', ],
IP、数据库、用户、密码根据自己的需求填写。
-
创建一个模型,写入如下内容
# app下 php artisan make:model Mongodb
# app/Mongodb.php <?php namespace App; use Mongo; use DB; class Mongodb extends Mongo { protected $collection = 'users'; protected $connection = 'test'; public static function test() { $users = DB::connection('mongodb')->collection('users')->get(); dd($users); }
-
创建路由
# app/Http/routes.php <?php Route::get('mongo', 'MongoController0');
-
创建控制器
# app/ php artisan make:controller MongoController
# app/Http/Controller/MongoController.php <?php namespace app\Http\Controllers; use Illuminate\Http\Request; use app\Http\Requests; use app\Http\Controllers\Controller; use app\Mongodb;// 使用创建的模型 class MongoController extends Controller { public function index() { Mongodb::test(); } }
测试
这是测试成功了,因为查询到了数据。其实本应是一个空数组,我手动添加了一条数据,所以能查到。
-