laravel中配置以及使用MongoDB

41 篇文章 5 订阅
7 篇文章 0 订阅

配置laravel中MongoDB

上文说到:Ubuntu下MongoDB的安装和使用https://blog.csdn.net/qq175023117/article/details/80839821

Robo 3T 是一款叫mongodb 可视化工具, 是一个免费版本,还有个付费版本叫Studio 3T 
官网 https://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();

 在https://laravel.com/docs/5.5/queries上阅读有关查询构建器的更多信息

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

文章已迁移:https://juejin.im/post/5d0c7e6c518825326e5f3e0b

当出现错误消息"Authentication failed"时,这意味着MongoDB身份验证失败。这可能是由于以下几个原因导致的: 1. 提供的用户名或密码不正确。确保在连接字符串或配置文件正确设置了用户名和密码。例如,可以使用以下格式来指定用户名和密码:mongodb://user:password@host:port/dbname?authSource=admin。 2. 认证的数据库不正确。请确保指定了正确的认证数据库。通常情况下,认证数据库是admin。如果在连接字符串没有指定authSource,则默认为admin。 3. MongoDB服务器上未启用身份验证。请检查MongoDB服务器的配置,确保已启用身份验证。 如果遇到身份验证失败的问题,可以尝试以下几个解决方法: 1. 检查用户名和密码是否正确,并确保在连接字符串或配置文件正确设置了它们。 2. 确保指定了正确的认证数据库,通常为admin。如果未指定authSource,请在连接字符串明确指定。 3. 检查MongoDB服务器的身份验证设置,并确保已正确配置。 4. 如果使用的是特定的MongoDB驱动程序或框架(例如Laravel),请确保已正确安装和配置相关的扩展或包。例如,对于LaravelMongoDB,可以使用"composer require jenssegers/mongodb"命令来安装相关的扩展包,并根据版本和配置进行适当的调整。 总结起来,当出现"Authentication failed"错误时,需要检查用户名、密码、认证数据库和MongoDB服务器的身份验证设置,以确保它们正确配置和匹配。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值