在PHP项目中使用Mongodb


  • Lv 1

    开始

    首先PHP已经安装了Mongodb扩展

    在Larvel项目中需要拉下一个mongodb的服务组件

    composer require jenssegers/mongodb
    因为网络问题可能会出错,多试几次就行了;或者用翻墙工具翻墙下载。

    使用前的配置

    1. 修改config/app.php 在providers的数组中添加,注册服务

      Jenssegers\Mongodb\MongodbServiceProvider::class,

      在aliases数组中添加,设置别名

      'Mongo'     => Jenssegers\Mongodb\MongodbServiceProvider::class,
    2. 修改config/database.php 在connection数组中添加mongodb的配置信息,如下

      // 新加的mongodb配置
      'mongodb' => [
       'driver'   => 'mongodb',
       'host'     => 'localhost',
       'port'     => 27017,
       'database' => 'test',
       'username' => '',
       'password' => '',
      ],
      IP、数据库、用户、密码根据自己的需求填写。
    3. 创建一个模型,写入如下内容

      # 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);
      }
    4. 创建路由

      # app/Http/routes.php
      <?php
      Route::get('mongo', 'MongoController0');
    5. 创建控制器

      # 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();
        }
      }

    测试

    这是测试成功了,因为查询到了数据。其实本应是一个空数组,我手动添加了一条数据,所以能查到。


登录后回复
 

与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待