Laravel中使用mongodb(安装及项目内使用)

1、先安装php7的mongodb扩展

     下载对应的版本的php_mongodb.dll 文件mongodb下载地址

     把文件解压出来 php_mongodb.dll 文件复制到php安装目录下的 ext 目录下(列子: phpStudy\php\php-7.0.12-nts\ext)

     打开php.ini 配置文件增加行 : extension=php_mongodb.dll

     重启,再打开phpinfo() 查看是否有mongodb扩展,出现下图则安装成功

2、进入项目的根目录,命令行执行

composer require jenssegers/mongodb

3、在config/app.php下'providers' 和'aliases' 中加入注册服务

// 'providers'里加入

Jenssegers\Mongodb\MongodbServiceProvider::class,

// 'aliases'里加入

Jenssegers\Mongodb\Eloquent\Model::class,
Jenssegers\Mongodb\MongodbServiceProvider::class,

4、配置在config/database.php中配置数据库,'connections' 中加入:

'mongodb' => array(
    'driver'   => 'mongodb',             // 随意
    'host'     => '1xx.1xx.1xx.1x',      // 数据库服务器的ip
    'port'     => 27017,                 // 数据库服务器上mongodb服务对应的端口
    'database' => 'mongodbDatabase',     // 数据库名称
    'username' => 'user',                // 用户名
    'password' => 'xxx',                 // 密码
    'options' => array(
        'database' => 'mongodbDatabase'  // 要使用的数据库
    )
 
),

5、在app下新建一个Mongodb.php

<?php

namespace App;

use DB;

/**
* mongodb 连接使用
**/

class Mongodb
{
    public static function connectionMongodb($tables)
    {
        return $users = DB::connection('mongodb')->collection($tables);
    }
}

6、开始使用

<?php

namespace App\Http\Controllers\Api;

use App\Mongodb;
use App\Http\Message;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class MongodbController extends Controller
{
	// 操作mongdb
    public function index(Request $request)
    {
        // 数组
    	$data = ['name' => md5(time()),'time' => time() , 'only' => LARAVEL_START];
        // 连接mongodb下对应的表
        $connection = Mongodb::connectionMongodb('tableName');
        // 插入数据
        $result[] = $connection->insert($data);
        // 查询数据
        $result[] = $connection->select('time')->where(['only'=>'where'])->orderBy('time','ASC')->first();
        // 修改数据
        $result[] = $connection->where('id','id')->update($data);
        // 删除数据
        $result[] = $connection->where('name',md5(time()))->delete();
        // 返回数据
        return Message::successMsg($result);
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值