Laravel對于Redis擴展用起來非常方便两蟀,理論上來說對于Mongodb的擴展也應(yīng)該如此,為此今天我們來記錄下Laravel是如何支持Mongodb的震缭。
1.添加composer依賴(jenssegers/mongodb):
composer require jenssegers/mongodb
或者
在composer文件添加"jenssegers/mongodb": "3.2"赂毯,然后執(zhí)行composer update
- 配置Service Provider
providers追加: Jenssegers\Mongodb\MongodbServiceProvider::class,
aliases追加: 'Mongo' => Jenssegers\Mongodb\MongodbServiceProvider::class,
新增Mongo的匿名映射。
- 配置database(config/database.php)
connections 追加: 'mongodb' =>
[
//MongoDB 'driver' => 'mongodb',
'host' => '127.0.0.1',
'port' => 27017,
'username' => '',
'password' => '',
'database' => 'test',
//demodb 'options' => []
],
- 項目中如何使用:
1): 直接在代碼中使用DB類連接對應(yīng)的連接名拣宰,然后進行相應(yīng)的操作:
$mongodb = DB::connection('mongodb'); // 獲得mongodb的連接
$db = $mongodb->collection('user'); // 連接user數(shù)據(jù)庫
$db->insert(['title' => 'email', 'article' => 'john@example.com','time' => time()]);
// 錄入數(shù)據(jù)
dd($db->get());
dd($db->where('title', 'email')->get());
// 獲取相關(guān)數(shù)據(jù)記錄
2). 直接封裝在model中党涕,這樣可以代碼更加簡潔
class TestModel extends Model
{
protected $table = 'user';
public static function connectMongo($table)
{
return $users = DB::connection('mongodb')->collection($table);
}
}
這樣代碼中調(diào)用的時候使用靜態(tài)方法獲取mongodb連接,然后進行相關(guān)操作巡社,默認的話仍然操作Mysql數(shù)據(jù)庫膛堤。調(diào)用代碼范例如下:
$testModel = TestModel::connectMongo('user');
$testModel->insert(['title' => 'email1', 'article' => 'john@example.com','time' => time()]);
dd($testModel->where('title', 'email1')->get());
大家喜歡可以訪問我的個人網(wǎng)站:http://www.yingminxing.com
如有疑問,歡迎溝通交流:QQ:370399195, 微信:yingminxing1988