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