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