lumen安装mongodb数据库

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

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

 

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

 

$app->register(Jenssegers\Mongodb\MongodbServiceProvider::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

posted on 2020-01-15 10:04  小V_chen  阅读(1103)  评论(0编辑  收藏  举报

导航