将 MongoDB 与 Node.js PlatoBlockchain 数据智能集成。 垂直搜索。 人工智能。

将 MongoDB 与 Node.js 集成

现代机器人应用程序在其后端有一种存储数据的介质,例如 Node 应用程序,它能够与非关系型(例如 PostgresQL、MongoDB)和关系型(例如 MySQL、Oracle)一起工作。

MongoDB 是一种非关系数据库,相对易于使用且功能强大,如果您是一名 Node.js 开发人员,想要了解它带来的好处以及如何开始创建与 Node 应用程序的安全集成,那么这是您的指南!

在本文中,我们将学习如何集成/连接到 MongoDB; 一个非常流行的 Node.js 非关系数据库,看看我们如何在 Node 应用程序中使用它。

请注意: 要继续操作,您需要安装 Node.js。 您可以下载最长的稳定版本 (LTS) 并从其本地计算机上安装 官方下载页面.

MongoDB 简介

MongoDB 是最流行、最先进的基于文档的数据库,其中所有数据都存储在称为 BSON 的二进制 JSON(JavaScript 对象表示法)中。 BSON 是一个 文件,不需要预定义的数据模式。 它允许应用程序经常一起访问的数据存储在同一位置,并使数据库读取变得轻松快捷。

与关系表不同,集合是独立的,这使得它们更容易使用。 当在 MongoDB 集合上创建新文档时,会为其分配一个 ID,以使其对于该集合而言是唯一的,并且在文档内部,可以定义多个字段; 其中值可以是数据类型的变体,范围包括数组、字符串、整数、对象等。

为了操作数据,查询 API 对于在数据库中执行基本的创建、读取、更新和删除 (CRUD) 操作非常有用。 还可以创建二级索引以确保优化并使常见查询变得非常快。 还支持地理空间查询,这使得可以查找特定地理位置的文档。

MongoDB 入门

在我们开始从 Node 应用程序连接到 MongoDB 之前,请前往 MongoDB 官方网站注册 Try Free 按钮(如果您还没有帐户):

创建帐户后,前往单击 Build a Database 按钮,然后点击创建数据库:

将 MongoDB 与 Node.js PlatoBlockchain 数据智能集成。 垂直搜索。 人工智能。

接下来,创建一个共享集群(永久免费!)并为其指定一个您选择的名称。

共享集群非常适合在有限的沙箱中进行实验。 您可以随时升级到生产集群。

将 MongoDB 与 Node.js PlatoBlockchain 数据智能集成。 垂直搜索。 人工智能。

成功创建集群后,单击 Connect 按钮连接到集群:

将 MongoDB 与 Node.js PlatoBlockchain 数据智能集成。 垂直搜索。 人工智能。

现在向您展示了四种不同的方式来连接 MongoDB,但由于我们希望连接到 Node 应用程序,所以让我们选择 Connect your application 选项​​:

将 MongoDB 与 Node.js PlatoBlockchain 数据智能集成。 垂直搜索。 人工智能。

然后系统会提示您选择连接方法。 在这里,请确保选择 Node.js 作为您的驱动程序,并选择合适的版本(我在撰写本文时使用的是 4.1 或更高版本)。

我们还显示了一个连接字符串,该字符串对于将 MongoDB 集群连接到 Node 应用程序非常有用:

将 MongoDB 与 Node.js PlatoBlockchain 数据智能集成。 垂直搜索。 人工智能。

现在,我们需要创建一个 Node.js 应用程序来连接到 MongoDB 数据库。

构建节点应用程序

在此项目的首选目录中,创建一个新文件夹:

$ mkdir integrating-mongodb-node

然后,运行 npm init 在终端中,为了使用以下命令初始化 Node 应用程序 package.json 文件使我们能够跟踪应用程序依赖关系:

$ npm init

package name: (codes) integrating-mongodb-node
version: (1.0.0)
description: learning how to connect mongodb to a node app
entry point: (server.js)
test command:
git repository:
keywords:
author:
Is this OK? (yes) yes

查看我们的 Git 学习实践指南,其中包含最佳实践、行业认可的标准以及随附的备忘单。 停止谷歌搜索 Git 命令,实际上 学习 它!

现在我们已经成功初始化了 package.json,让我们继续安装两个有助于构建我们的服务器的软件包。 第一个是 Express.js,它是一个用于快速轻松开发 Node 应用程序的 Web 框架:

$ yarn add express -D

我们要安装的第二个包是 Mongoose 包,它将帮助我们在 Node 应用程序中为数据库构建适当的架构:

$ yarn add mongoose -D

现在成功安装了所需的开发依赖项,我们现在可以编写代码将 MongoDB 数据库连接到 Node 应用程序。

在我们刚刚为项目创建的目录中,创建一个 server.js 文件

$ touch server.js

接下来,我们定义 Node 应用程序的基本设置 server.js,通过创建一个简单的快递服务器。



const express = require("express");
const mongoose = require("mongoose");
const app = express();

const port = 8000;

app.listen(port, () => {
  console.log(`Server started at port ${port}`);
});

我们可以通过在终端中运行以下代码来确认我们的服务器正在正常运行。

$ node server.js

这应该导致:

Server started at port 8000

现在,您可以返回 MongoDB 仪表板来复制 URI(统一资源标识符),以便将 Node 应用程序连接到数据库。

I server.js 创建一个变量来存储统一资源标识符,并在 URI 上替换 使用您的 MongoDB 帐户的密码。



const express = require("express");
const mongoose = require("mongoose");
const app = express();

const uri =
  "mongodb+srv://UcheAzubuko:@stackabusecluster.fgavg5s.mongodb.net/?retryWrites=true&w=majority";

const port = 8000;

app.listen(port, () => {
  console.log(`Server started at port ${port}`);
});

接下来,我们创建一个异步函数来连接到 MongoDB,因为我们不知道该函数在连接到数据库之前需要多长时间才能完成:

const express = require("express");
const mongoose = require("mongoose");
const app = express();

const uri =
  "mongodb+srv://UcheAzubuko:@stackabusecluster.fgavg5s.mongodb.net/?retryWrites=true&w=majority";
async function connect() {
  try {
    await mongoose.connect(uri);
    console.log("Connected to MongoDB");
  } catch (error) {
    console.log(error);
  }
}
connect();

const port = 8000;
app.listen(port, () => {
  console.log(`Server started at port ${port}`);
});

我们创建了一个异步函数来记录 Connected to MongoDB 当 MongoDB 和 Node 应用程序之间成功建立连接时显示消息,并在发生错误时记录所有错误。

现在,我们应该重新启动服务器:

$ node server.js

并获得一条成功消息,通知我们 MongoDB 数据库和 Node 应用程序之间现已建立安全连接:

Server started at port 8000
Connected to MongoDB

此时,当您返回项目集群的仪表板时,您将看到显示最近已连接到数据库的信息:

将 MongoDB 与 Node.js PlatoBlockchain 数据智能集成。 垂直搜索。 人工智能。

好吧,伙计们,就是这样! 我们已成功将 MongoDB 数据库集成到 Node.js 应用程序中。

结论

在本文中,我们学习了如何在 Node.js 应用程序和 MongoDB 数据库之间创建安全连接。 现在,当您需要使用 MongoDB 构建应用程序时,您可以轻松地执行相同的操作; 生态系统中非常流行的非关系数据库。

不要忘记, MongoDB 文档 是您学习 MongoDB 的最佳朋友,要了解有关构建 Express 应用程序的更多信息,请联系 快速文档 了。

如果您在学习本教程时遇到困难,请随时思考 该项目的 GitHub 存储库 找到你的路。

更多资讯

时间戳记:

更多来自 堆栈滥用