美文网首页我爱编程
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