首页 > 解决方案 > 如何将 Laravel 网站与 mongoDB atlas 连接起来

问题描述

我尝试将我的 laravel 网站与 Mondo DB atlas 集群连接起来。以前我将此数据库与 mysql 数据库连接。但是我出错了

我在 config/database.php 上的代码

'mongodb_conn' => [
    'driver' => 'mongodb',
    'dsn'=>'mongodb+srv://myusername:mypassword@mydbname-ktp6o.mongodb.net/test?retryWrites=true&w=majority',
    'database' => 'mydbname',
],

还有我在 .env 中的代码

    APP_NAME=Blood_Donation
APP_ENV=local
APP_KEY=base64:jtvoXduyfwnIB6A5pCy8Cfa9bJYRvNgMKeRFdfiYYyc=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=mongodb_conn'
DB_HOST=xxxx-shard-00-00-uggj0.mongodb.net
DB_PORT=27017
DB_DATABASE=mydbname
DB_USERNAME=myusername
DB_PASSWORD=mypassword

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

运行 PHP artisan serve 时出现以下错误。

错误信息

标签: jsonlaravelmongodbhttprequestcluster-computing

解决方案


如果您使用 XAMPP for Localhost(Apache Server) 和 MongoDB Atlas 作为数据库,您应该参考这个Jenssegers

$ composer require jenssegers/mongodb

并确保将MongoDB 扩展安装到 XAMPP XAMPP + MongoDB 配置(直到步骤 4)

.env

DB_CONNECTION=mongodb
DB_HOST=xxxx-shard-00-00-uggj0.mongodb.net
DB_PORT=27017
DB_DATABASE={your_database}
DB_USERNAME={username_when_creating_cluster}
DB_PASSWORD={password_when_creating_cluster}

配置/数据库.php

   'mongodb' => [
            'driver' => 'mongodb',
            'dsn' => 'mongodb+srv://{username_when_creating_cluster}:{password_when_creating_cluster}@{your_cluster_name}.bhtvj.gcp.mongodb.net/{your_database}?retryWrites=true&w=majority',
            'database' => '{your_database}',
        ],

请注意,上面的dsn可以很容易地从MongoDB|Atlas中获取,您应该只编辑集群的凭据和数据库名称。

步骤1

步骤1

第2步

第2步

第 3 步

第 3 步

希望这是您寻找Goodluck的答案!


推荐阅读