将 MongoDB 连接到 MERN 应用程序
Posted
技术标签:
【中文标题】将 MongoDB 连接到 MERN 应用程序【英文标题】:Connecting MongoDB to MERN app 【发布时间】:2019-01-05 04:31:32 【问题描述】:我正在尝试将我的 MongoDB 连接到我的 MERN Web 应用程序,并且想知道有关此类信息的最佳资源。基本上,我有一个 MERN Web 应用程序、电子桌面应用程序和 react 本机移动应用程序,我试图将它们全部连接到一个 MongoDB,但我找不到任何直接回答它应该如何连接的信息。如果需要,我可以提供更多详细信息。
【问题讨论】:
都是同一个APP,只是平台不同?他们都假设是同一个数据库吗? 【参考方案1】:确保您使用的是数据库用户名和密码,而不是来自 Mlab 的帐户用户名和密码。
在 MLab(以前的 MongoLab)中,执行以下操作:
-
导航到用户
添加数据库用户
选择您的用户名和密码
现在您可以使用 mongo ds061374.mlab.com:61374/yourdb -u <dbuser> -p <dbpassword>
在 shell 上进行测试。
【讨论】:
【参考方案2】:我希望你已经注册了 mongodb 并在那里创建了一个项目。 下面是让您的 MERN 应用程序连接到 MongoDB 在线集群的集成过程。
确保您已安装以下库dotenv、mongoose。
-
在您的项目根目录中创建一个文件夹来保存您的配置文件,例如 config_folder
创建一个 .js 文件,例如 dbConnnect.js
创建一个创建 dotenv 文件来保存 MongoDB 集群的密钥,只需在项目根文件夹中创建一个精细文件并将其命名为 .env。 注意命名此文件时不需要前缀。
登录您的 MongoDB 并导航至项目,选择您的项目,然后导航至数据库 -> 集群 -> 连接 -> 连接您的应用程序 -> 复制连接字符串。
导航回您的 .env 文件并创建一个变量并粘贴连接字符串,如下所示。
MONGODB_URI = 'your_connection_string_from_mongoDB'
-
在 dbConnect.js 中添加以下代码。
const mongoose = require('mongoose')
const dbConnect = async() =>
try
const connected = await mongoose.connect(process.env.MONGODB_URI,
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true,
useFindAndModify: false
);
console.log(`Connected $connected.host`)
catch (error)
console.log(`error : $error.message`)
module.exports =
dbConnect
-
现在您需要使用以下代码在服务器文件中调用上述块。
const dbConnect = require('./config/dbConnect')
const dotenv = require('dotenv')
dotenv.config()
dbConnect();
集成过程到此结束。它对我有用,我希望它会有所帮助。
【讨论】:
以上是关于将 MongoDB 连接到 MERN 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
MEAN Stack - 将云 MongoDB 连接到 Angular 应用程序?
尝试将 mongoDB 连接到我的网络应用程序,但它显示以下错误
使用 Nodejs Restful API 将 android 应用程序连接到本地 mongoDB 数据库并将数据存储在 Mongodb 中(通过 WiFi)