美文网首页我爱编程
Laravel&Lumen安装Mongodb扩展

Laravel&Lumen安装Mongodb扩展

作者: 瑛民星 | 来源:发表于2017-04-17 12:48 被阅读2203次

Laravel对于Redis扩展用起来非常方便,理论上来说对于Mongodb的扩展也应该如此,为此今天我们来记录下Laravel是如何支持Mongodb的。

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

composer require jenssegers/mongodb
或者
在composer文件添加"jenssegers/mongodb": "3.2",然后执行composer update
  1. 配置Service Provider
providers追加: Jenssegers\Mongodb\MongodbServiceProvider::class,
aliases追加: 'Mongo' => Jenssegers\Mongodb\MongodbServiceProvider::class,
新增Mongo的匿名映射。
  1. 配置database(config/database.php)
connections 追加: 'mongodb' => 
[ 
        //MongoDB 'driver' => 'mongodb', 
        'host' => '127.0.0.1', 
        'port' => 27017, 
        'username' => '', 
        'password' => '', 
        'database' => 'test', 
        //demodb 'options' => [] 
],
  1. 项目中如何使用:

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());

大家喜欢可以访问我的个人网站:http://www.yingminxing.com
如有疑问,欢迎沟通交流:QQ:370399195, 微信:yingminxing1988

相关文章

网友评论

    本文标题:Laravel&Lumen安装Mongodb扩展

    本文链接:https://www.haomeiwen.com/subject/btrtzttx.html