json - 如何将 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 时出现以下错误。
解决方案
如果您使用 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
第2步
第 3 步
希望这是您寻找Goodluck的答案!
推荐阅读
- r - 我们如何通过从我们上传的表中获取用户的输入来添加 group?
- kotlin - BASE64 转位图
- mongoose - Axios 提出请求不更新值
- angularjs - ng-repeat 在 angularjs 中的 get 方法中不起作用
- java - 如何检查输入字符串是否已编码?
- laravel - 检索具有父和子/关联模型约束的雄辩模型
- laravel - Laravel 雄辩的子查询顺序
- azure - Azure 数据工厂管道故障电子邮件警报到分发列表
- javascript - 如何为 cms 使用模板文字?
- sql-server - 对于以 nvarchar 作为参数的内置函数,如果提供的值为 varchar,则该值仍会转换为 nvarchar(4000)