📅  最后修改于: 2023-12-03 15:09:09.709000             🧑  作者: Mango
dotenv 是一个 Node.js 应用程序的零依赖模块,它允许您将配置变量存储在 .env 文件中,并从 process.env 中加载它们。 MongoDB 是一个流行的 NoSQL 数据库。在 Node.js 应用程序中使用 MongoDB 时,通常需要为数据库配置一些敏感信息,例如用户名和密码。本文将向您介绍如何使用 dotenv 和 MongoDB 在 Node.js 应用程序中安全存储和访问配置信息。
在安装 dotenv 和 mongodb 之前,您必须确保已在 Node.js 应用程序中安装了 npm 包管理器。
npm install dotenv mongodb --save
dotenv 使您能够在项目中使用其他模块而不需要在版本控制中存储敏感信息。您可以将信息存储在 .env 文件中,并将其作为环境变量注入在 project.env 上。然后,您需要将 dotenv 和 mongodb 包导入您的项目,并使用它们来读取 .env 文件中的信息并传递给 MongoDB 控制台。
在项目根目录中创建一个名为 .env 的文件,并在其中输入以下内容:
# .env
MONGODB_USER=<your-user>
MONGODB_PASSWORD=<your-password>
MONGODB_HOST=<your-host>
这将为您的 MongoDB 连接提供必要的安全信息。请确保不要将您的 .env 文件添加到您的版本控制库中。
在您的 app.js 或 main.js 文件中添加以下代码:
require('dotenv').config();
其中,dotenv 包将 .env 文件中的键/值对注入 process.env 中。
在您的 app.js 或 main.js 文件中添加以下代码以连接到您的 MongoDB 数据库:
const { MongoClient } = require('mongodb');
const assert = require('assert');
// Connection URL
const url = `mongodb+srv://${process.env.MONGODB_USER}:${process.env.MONGODB_PASSWORD}@${process.env.MONGODB_HOST}/test?retryWrites=true&w=majority`;
// Database Name
const dbName = 'myproject';
// Create a new MongoClient
const client = new MongoClient(url);
这将创建一个新的 MongoClient,并使用您的 .env 文件中的信息将其连接到您的 MongoDB 服务器。
现在您的敏感信息已经安全地存储在 .env 文件中,并从中注入到您的 Node.js 应用程序中。您不再需要将它们直接存储在代码中。如果您需要向 MongoDB 发送敏感信息,请确保将它们存储在具有适当权限的可靠安全服务器上。
在本文中,我们向您介绍了如何使用 dotenv 和 MongoDB 在 Node.js 应用程序中安全存储和访问配置信息。我们了解到,dotenv 可以让您轻松地将配置变量存储在 .env 文件中,并从 process.env 中加载它们。使用 dotenv 有助于使您的应用程序更安全,更易于管理和扩展。 如果在应用程序中使用 MongoDB,上述步骤可帮助您更加安全地传递数据库的用户凭据。