laravel中配置以及使用MongoDB

501 阅读1分钟

配置laravel中的MongoDB

上文说到:Ubuntu下MongoDB的安装和使用juejin.cn/post/684490…

Robo 3T 是一款叫mongodb 可视化工具, 是一个免费版本,还有个付费版本叫Studio 3T
官网 robomongo.org/

MongoDB的可视化工具
1,推荐 Robomongo
Robomongo 是开源,免费的MongoDB管理工具,下载地址:Robomongo下载
2,MongoBooster
支持MongoDB 3.2 版本,个人使用免费,用于商业收费,下载地址:MongoBooster下载

需要可视化工具的小伙伴可以去下载哦

安装好以后那我们进行框架中的使用

composer require jenssegers/mongodb

And add the service provider in config/app.php:

Jenssegers\Mongodb\MongodbServiceProvider::class,

在config/database.php中的 connections中加入MongoDB的配置

'mongodb' => [
    'driver'   => 'mongodb',
    'host'     => 'localhost',
    'port'     => 27017,
    'database' => env('DB_DATABASE','test'),
    'username' => env('DB_USERNAME',''),
    'password' => env('DB_PASSWORD',''),
    'options' => [
        'database' => env('DB_DATABASE'),//不加导致auth fail
    ]
],

.env文件配置如下

DB_CONNECTION=mongodb
DB_HOST=127.0.0.1
DB_PORT=27017
DB_DATABASE=test
DB_USERNAME=test
DB_PASSWORD=test

Model的定义

<?php

namespace App\Models;

use Jenssegers\Mongodb\Eloquent\HybridRelations;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;

class User extends Eloquent
{
    use HybridRelations;

    protected $collection = 'test';
    protected $connection = 'mongodb';
}

数据库驱动程序直接插入原始查询构建器。使用mongodb连接时,您将能够构建流畅的查询来执行数据库操作。为方便起见,还有一个collection别名table以及一些额外的mongodb特定操作符/操作。

$users = DB::collection('users')->get();

$user = DB::collection('users')->where('name', 'John')->first();

如果未更改默认数据库连接,则需要在查询时指定它。

$user = DB::connection('mongodb')->collection('users')->get();

laravel.com/docs/5.5/qu…上阅读有关查询构建器的更多信息

以上都是我自己的经验,希望可以对大家有所帮助