iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >如何使用 Node.js 将 MongoDB 连接到您的应用程序
  • 581
分享到

如何使用 Node.js 将 MongoDB 连接到您的应用程序

2024-04-02 19:04:59 581人浏览 独家记忆
摘要

目录使用 node.js 将 mongoDB 连接到您的应用程序第 1 步。创建一个帐户步骤 2. 部署您的第一个集群步骤 3. 创建用户名和密码第 4 步。添加您的 IP 地址第5

使用 node.js 将 MonGoDB 连接到您的应用程序

MongoDB 是一个开源NoSQL 数据库管理程序。 Nosql 数据库对于处理大量分布式数据非常有用。我们可以在这个数据库中存储信息,对其进行管理,然后检索它并将其显示给查看我们应用程序的人。

现在,要从 Node.js 服务器连接到 Mongo 数据库,您可以使用:

  • Mongo,官方驱动npm包
  • Mongoose,nodejs 中 mongo 的优雅对象建模工具

大多数在线教程都教如何使用 mongoose 在 MongoDB 中设置 Node/Express 应用程序,这对初学者没有太大帮助。

在本教程中,我将向您介绍设置 MongoDB 帐户、生成连接字符串以及在不使用 mongoose 的情况下将 MongoDB 数据库连接到应用程序的基础知识。

如果您喜欢观看视频,请查看教程 这里 .

https://youtu.be/Bcg6C0G_tAA

让我们开始吧!

第 1 步。创建一个帐户

前往 MongoDB Atlas 的 网站 并使用您的电子邮件注册。

您可能需要回答一个简短的问卷来创建您的帐户。

步骤 2. 部署您的第一个集群

概括地说,集群是存储数据库副本的一组节点。

单击构建数据库,然后选择共享数据库类型(免费的!)。

它将为您提供自定义集群的选项,但您可以使用默认值。只需确保您仍处于免费套餐中。之后,单击创建集群。

步骤 3. 创建用户名和密码

在后台创建集群时,您必须创建一个数据库用户。用户名和密码与您用于登录 MongoDB Atlas 的用户名和密码不同;它们将仅用于此特定数据库(它有助于保持数据安全并有助于控制谁可以访问哪些数据)。

确保安全地存储您的密码,因为我们需要它来连接数据库。

第 4 步。添加您的 IP 地址

在连接到集群之前,您需要将您的 IP 地址列入白名单。这是 MongoDB Atlas 中内置的安全功能。继续并单击添加您的当前 IP 地址。

之后,只需单击完成并关闭,当对话框打开时,单击转到数据库。

第5步.首页

欢迎访问您的数据库主页;你应该在那里看到你的集群。在将其连接到您的应用程序之前,您必须在其中创建一个集合。

第 6 步:创建集合

单击浏览集合,然后添加我自己的数据

键入数据库的名称和集合名称。在我的例子中,我的数据库名称是“to-do-app”,集合名称是“tasks”。单击创建。

太好了,您已经创建了一个集合,您的所有对象都将保存在其中。

步骤 7. 生成连接字符串

返回到您的数据库主页(左上角,在 DEPLOYMENT 下),然后在集群的主页上,单击 Connect。您将获得三种连接数据库的方法。

选择“连接您的应用程序”方法。

提供的连接字符串将用于您的应用程序(因此您的应用程序可以连接和操作数据库)。

步骤 8. 初始化您的项目

现在转到您的 IDE(我使用 VS Code)并启动您的应用程序。

如果这是您第一次开发全栈 WEB 应用程序,您需要将 Node.js 下载到您的计算机上。

您可以从 官方节点网站 ,它还将安装 npm(节点包管理器)。

npm 是 Node.js 的包管理器,拥有数十万个包。尽管它确实创建了一些目录结构/组织,但这不是主要目的。

它的主要目标是自动化依赖和包管理。这意味着您可以在 package.JSON 文件中指定项目的所有依赖项。任何时候您(或其他任何人)需要开始您的项目时,他们只需运行 npm install 并立即安装所有依赖项。除此之外,还可以指定您的项目所依赖的版本,以防止更新破坏您的项目。

要使用 npm 初始化您的第一个项目,请创建一个项目文件夹,并将目录更改为您的项目文件夹。

完成后,您就可以使用以下命令初始化您的第一个项目:

 npm init ## 触发项目的初始化

步骤 9. 安装本地包

使用 npm 安装任何软件包后,该软件包将作为依赖项安装在您的 package.json 文件中的应用程序中,并且其模块存储在 node_modules 文件夹中。

npm 安装 是安装您选择的包的标准 NPM 命令。

 npm 安装<package name>

现在让我们安装我们将用于这个项目的包。

表达:

 npm 安装快递

MongoDB:

 npm 安装 mongodb

多特纳夫:

 npm 安装 dotenv

dotenv 包存储了我们不想共享的敏感信息。它创建环境变量并将它们隐藏在我们的主代码中,例如,您可以保护 env 文件中的私钥,并在将其推送到 GitHub 时将其隐藏。

您可以检查所有内容是否已成功安装在您的 package-lock.json 上(在 packages 下)。

步骤 10. 需要依赖项

安装包后,新建一个 服务器.js 文件并使用您的代码编辑器打开它。然后,添加以下代码行:

 const express = require('express') #1  
 const app = express() #2  
 const MongoClient = require('mongodb').MongoClient. #3

代码说明:

  • 在您的第一行代码中,您使用 require 函数来包含“express 模块”。
  • 在使用 express 模块之前,您需要为它创建一个对象。
  • MongoDB 模块导出 MongoClient,您将使用它连接到 MongoDB 数据库。您可以使用 MongoClient 的实例连接到集群、访问数据库并关闭与该集群的连接。

步骤 11. 连接数据库

您必须为 MongoDB 给出的字符串声明一个变量。重要提示:将 替换为您之前创建的实际密码。

 const connectionString = 'mongodb+srv://juliafm:<passWord> @cluster0.qvesujr.mongodb.net/?retryWrites=true&w=majority'

要完成与外部数据库的连接,请添加以下代码行:

 MongoClient.connect(connectionString)  
 .then(客户端 => {  
 console.log(`连接到数据库`)  
 const db = client.db('to-do-app')  
 const tasksCollection = db.collection('tasks')  
 }) //CRUD 请求 .catch(错误 => 控制台.错误(错误))

代码说明:

  • 创建一个带有承诺的函数
  • 告诉(然后)客户下一步该做什么
  • 将其作为参数传递给箭头函数
  • 创建一个 console.log 语句以确保您已连接
  • 指定您要连接的数据库和集合
  • 添加一个 catch 语句,看看我们是否得到任何错误

太棒了,你都准备好了。如果您现在运行服务器,您应该会在终端上看到“已连接到数据库”。

这是你到目前为止的代码:

 常量表达 = 要求('表达')  
 常量应用程序 = 快递()  
 const MongoClient = require('mongodb').MongoClient  
 const connectionString = 'mongodb+srv://juliafm:[[email protected]](/cdn-cgi/l/email-protection)/?retryWrites=true&w=majority' MongoClient.connect(connectionString)  
 .then(客户端 => {  
 console.log('连接到数据库')  
 const db = client.db('to-do-app')  
 const taskCollection = db.collection('tasks') //CRUD 请求  
 })  
 .catch(错误=> console.error(错误))

步骤 12. 设置 .env

出于安全原因,我想向您展示如何将 MongoDB 连接字符串移动到 .env 文件。

为此,您必须在项目文件夹中创建一个 .env 文件。在此文件中,创建一个变量 DB_STRING 并粘贴您的连接字符串(不要忘记将占位符更改为您的实际密码)。

返回到您的 server.js 文件,删除保存连接字符串的变量,然后添加它:

 需要('dotenv').config()  
 常量 connectionString = process.env.DB_STRING;

最后,创建一个 .gitignore 文件并在那里添加 .env (你会看到我已经添加了 node_modules,因为它们太重了,没有必要将它们推送到 Github)。

.gitignore 文件指定了 Git 应该忽略的故意未跟踪的文件。

请记住,如果您要推送到 Heroku,则必须从 .gitignore 文件中删除 .env ,因为它需要访问数据库。或者,您可以通过 Heroku 仪表板中应用程序的“设置”选项卡添加此配置变量。

结论

我希望本教程对您有所帮助。如果您还有任何问题,请告诉我;我总是很乐意提供帮助!

如果您喜欢这个出版物,请在 Medium 上关注我以获取我的最新文章。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:Https://www.qanswer.top/33100/15141308

到此这篇关于使用 Node.js 将 MongoDB 连接到您的应用程序的文章就介绍到这了,更多相关Node.js连接MongoDB内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 如何使用 Node.js 将 MongoDB 连接到您的应用程序

本文链接: http://www.lsjlt.com/news/167348.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用 Node.js 将 MongoDB 连接到您的应用程序
    目录使用 Node.js 将 MongoDB 连接到您的应用程序第 1 步。创建一个帐户步骤 2. 部署您的第一个集群步骤 3. 创建用户名和密码第 4 步。添加您的 IP 地址第5...
    99+
    2024-04-02
  • 使用 Node.js OAuth 将您的应用程序与世界连接
    Node.js OAuth 是一个强大的工具,它简化了您的应用程序与其他服务之间的身份验证和授权过程。通过使用 OAuth,您可以轻松地让用户使用现有的社交媒体或其他在线帐户登录您的应用程序,而不必创建和管理自己的用户身份验证系统。 O...
    99+
    2024-02-19
    Node.js OAuth 身份验证 授权 社交登录
  • 如何将 Go 客户端应用程序连接到 IBM VS Code Fabric Extension?
    Golang不知道大家是否熟悉?今天我将给大家介绍《如何将 Go 客户端应用程序连接到 IBM VS Code Fabric Extension?》,这篇文章主要会讲到等等知识点,如果你在看完本篇文...
    99+
    2024-04-04
  • MongoDB Atlas 未与我的 golang 应用程序连接
    亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《MongoDB Atlas 未与我的 golang 应用程序连接》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋...
    99+
    2024-04-04
  • Node.js 与 Python:哪个适合您的应用程序?
    您想知道最适合您的 Web 应用程序的技术吗?看一眼 Node.js 和 Python。亲自挑选能够让您创建 Web 应用程序的最佳平台是一项艰巨的任务。许多人困惑地从几个中选择一个。这里有范围广泛的多种特色技术,可帮助您找到合适的技术。我...
    99+
    2023-05-14
    Python Node.js 应用程序
  • Node.js Azure Functions:提升您的应用程序性能
    ...
    99+
    2024-04-02
  • Flex应用程序如何连接数据
    这篇文章主要介绍了Flex应用程序如何连接数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Flex应用程序连接数据请记住,在Flex应用程序中对数据的操作最重要的事情是:F...
    99+
    2023-06-17
  • ASP 日志 api 接口:如何快速集成到您的应用程序中?
    ASP 日志 API 接口:如何快速集成到您的应用程序中? 随着信息技术的不断发展,越来越多的应用程序需要记录用户行为、系统运行日志等信息。而 ASP 日志 API 接口正是解决这一问题的有效途径。本文将为您介绍如何快速集成 ASP 日志 ...
    99+
    2023-06-19
    日志 api 接口
  • 小程序WebSocket长连接如何应用
    本篇内容主要讲解“小程序WebSocket长连接如何应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小程序WebSocket长连接如何应用”吧!  小程序的架构非常简单,这里有两条网络同步,一...
    99+
    2023-06-26
  • 如何使用Node.js开发高效的Web应用程序
    随着互联网的快速发展,面向互联网的应用程序开发成为了众多软件开发领域中的一个重要分支。而Node.js的出现,也使得Web应用程序开发的范式发生了改变。Node.js是一个事件驱动、非阻塞I/O的JavaScript运行环境,这个JavaS...
    99+
    2023-05-14
  • 如何使用Node.js+DevTools快速调试应用程序
    这篇文章将为大家详细讲解有关如何使用Node.js+DevTools快速调试应用程序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在做一些Node相关的开发的时候我们经常...
    99+
    2024-04-02
  • 如何使用容器技术,将 Java 应用程序部署到 Linux 上?
    随着云计算的兴起,容器技术越来越受到开发者的关注。利用容器技术,可以轻松地将应用程序部署到不同的环境中。在本文中,我们将介绍如何使用容器技术,将 Java 应用程序部署到 Linux 上。 步骤一:安装 Docker Docker 是一个...
    99+
    2023-09-04
    容器 javascript linux
  • 如何使用atlas在go中连接mongodb?
    php小编苹果将为你介绍如何在Go语言中使用Atlas连接MongoDB。Atlas是MongoDB官方的云托管服务,提供了可靠的分布式数据库解决方案。通过Atlas,你可以轻松地在G...
    99+
    2024-02-09
    go语言
  • 如何将ASP应用程序的数据存储到云端?
    ASP是一种基于服务器端的Web应用程序开发框架,它的数据存储通常使用关系型数据库,如SQL Server、MySQL等。但是,随着云计算技术的发展,越来越多的企业开始将应用程序和数据存储到云端。本文将介绍如何将ASP应用程序的数据存储到云...
    99+
    2023-08-04
    存储 异步编程 npm
  • 如何将NumPy集成到实时ASP应用程序中?
    在实时ASP应用程序中,将NumPy集成进去可以使得应用程序更加强大和高效。NumPy是一个用于科学计算的Python库,提供了高效的多维数组对象和各种数学函数。在本文中,我们将介绍如何将NumPy集成到实时ASP应用程序中,以便更好地处...
    99+
    2023-09-24
    linux numpy 实时
  • Node.js WebSocket 和 Docker:无缝部署您的实时应用程序
    在当今快节奏的数字时代,实时应用程序变得越来越普遍。Node.js,一个高度可扩展且异步的 JavaScript 运行时,加上 WebSocket 协议,为构建和部署实时应用程序提供了强大的组合。为了简化部署过程,Docker 提供了一个...
    99+
    2024-04-02
  • 您可以将 GTK4 applicationWindow 从 ui 文件添加到 GTK4 应用程序吗?
    php小编子墨很高兴为大家解答一个常见问题:“您可以将GTK4 applicationWindow从ui文件添加到GTK4应用程序吗?”答案是肯定的!在GTK4中,您可以使用GtkBu...
    99+
    2024-02-09
  • 如何使用将新浪长连接转为短连接的API
    这篇文章将为大家详细讲解有关如何使用将新浪长连接转为短连接的API,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。新浪短网址api是新浪官方对外公开的长链接转为短链接的API,可以将冗长的链接地址缩短生成 ...
    99+
    2023-06-02
  • Android应用程序无法连接到socket.io Golang服务器
    最近,一些Android应用程序无法连接到socket.io Golang服务器的问题引起了广泛关注。php小编新一在此为大家解答。在使用socket.io Golang服务器时,有一...
    99+
    2024-02-08
    go语言 模拟器
  • 如何提高Node.js应用程序的安全性
    这篇文章主要介绍“如何提高Node.js应用程序的安全性”,在日常操作中,相信很多人在如何提高Node.js应用程序的安全性问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何提高Node.js应用程序的安全性...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作