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
