将 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 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB 无法连接到服务器

MEAN Stack - 将云 MongoDB 连接到 Angular 应用程序?

问题连接节点与 mongodb

尝试将 mongoDB 连接到我的网络应用程序,但它显示以下错误

使用 Nodejs Restful API 将 android 应用程序连接到本地 mongoDB 数据库并将数据存储在 Mongodb 中(通过 WiFi)

如何将mongodb连接到cpanel共享服务器