zoukankan      html  css  js  c++  java
  • lumen安装mongodb数据库

    1.添加composer依赖(jenssegers/mongodb):

    composer require jenssegers/mongodb
    或者
    在composer文件添加"jenssegers/mongodb": "3.6",然后执行composer update

    2.注册MongodbServiceProvider (需要注册在$app->withEloquent();之前

    $app->register(JenssegersMongodbMongodbServiceProvider::class);
    $app->withEloquent();

    3.配置database(config/database.php)

    connections 追加: 'mongodb' => 
    [ 
            //MongoDB 'driver' => 'mongodb', 
            'host' => '127.0.0.1', 
            'port' => 27017, 
            'username' => '', 
            'password' => '', 
            'database' => 'test', 
            //demodb 'options' => [] 
    ],

    4.项目中如何使用:

    1): 直接在代码中使用DB类连接对应的连接名,然后进行相应的操作:

    $mongodb = DB::connection('mongodb');  // 获得mongodb的连接
    $db = $mongodb->collection('user');    // 连接user数据库
    
    $db->insert(['title' => 'email', 'article' => 'john@example.com','time' => time()]);
    // 录入数据
    
    dd($db->get());
    dd($db->where('title', 'email')->get());

    // 获取相关数据记录
    2). 直接封装在model中,这样可以代码更加简洁

    class TestModel extends Model
    {
        protected $table = 'user';
    
        public static function connectMongo($table)
        {
            return $users = DB::connection('mongodb')->collection($table);
        }
    }

    这样代码中调用的时候使用静态方法获取mongodb连接,然后进行相关操作,默认的话仍然操作Mysql数据库。调用代码范例如下:

    $testModel = TestModel::connectMongo('user');
    $testModel->insert(['title' => 'email1', 'article' => 'john@example.com','time' => time()]);
    
    dd($testModel->where('title', 'email1')->get());

    centos7 宝塔php7安装mongodb扩展

    下载扩展

    wget -c https://pecl.php.net/get/mongodb-1.5.3.tgz
    tar -zxvf mongodb-1.5.3.tgz
    

    编译安装

    cd mongodb-1.5.3
    /usr/local/php/bin/phpize
    ./configure --with-php-config=/usr/local/php/bin/php-config
    make && make install

    修改php.ini

    vim /usr/local/php//etc/php.ini
    extension = /usr/local/php//lib/php/extensions/no-debug-non-zts-20151012/mongodb.so

    service php-fpm restart

  • 相关阅读:
    程序跳过UAC研究及实现思路(两种方法,现在可能都不行了)
    getch(),getche(),getchar()的区别
    命令行版扫雷(vc08)
    类成员函数指针的特殊之处(成员函数指针不是指针,内含一个结构体,需要存储更多的信息才能知道自己是否virtual函数)
    WCF与Web API 区别
    扩展方法库
    开源Dubbox
    AngularJs应用页面
    浅谈可扩展性框架:MEF
    AngularJs + ASP.NET MVC
  • 原文地址:https://www.cnblogs.com/vania/p/12195262.html
Copyright © 2011-2022 走看看