node.js - 如何在 MongoDB 中管理连接
问题描述
我正在从我的 Node.js 连接到 MongoDB。
如果我从 app.js 文件开始连接,那么我是否需要从另一个 JavaScript 文件再次连接,例如:从我的模型文件夹之一?
这是我的 database.js 代码:
const mongodb = require("mongodb");
const MongoClient = mongodb.MongoClient;
const mongoConnect = callback => {
MongoClient
.connect("mongodb+srv://<user>:<password>@node.idgpt.mongodb.net/myFirstDatabase?retryWrites=true&w=majority", {useUnifiedTopology: true})
.then(client => {
console.log("CONNECTED!!!");
callback(client);
})
.catch(err => {
console.log(err);
});
}
module.exports = mongoConnect;
这是我的 app.js 代码:
const path = require('path');
const express = require('express');
const bodyParser = require('body-parser');
const errorController = require('./controllers/error');
const mongoConnect = require('./util/database');
const app = express();
app.set('view engine', 'ejs');
app.set('views', 'views');
const adminRoutes = require('./routes/admin');
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));
mongoConnect(() => {
app.listen(3000);
});
所以,我的问题是:每次我想执行 CRUD 操作时,是否需要通过 mongoConnect 函数连接到 MongoDB?例如:如果我想从models文件夹中的另一个文件插入数据,我是否需要先连接到MongoDB然后执行插入操作,因为我已经先从我的app.js连接到MongoDB,然后我开始监听到我的节点服务器。
注意:我已分别用 <user> 和 <password> 替换了我的用户名和密码。
解决方案
提供示例代码以获得更多见解。
但是如果你在一个文件中连接,你可以在许多文件中需要这个文件,它总是相同的连接。
推荐阅读
- java - 无法使用 Java 连接到 Azure 上的 Postgres 数据库
- sql - 如何在 Hive 中打印毫秒而不忽略零
- javascript - 在 Plotly.js 中动态切换形状的可见性
- php - 在容器中连接 nginx 和 php-fpm
- java - 无法从数据库中检索任何数据
- c# - c# Entity Framework - 查询 2 个链接列
- node.js - express-hHandlebars partials,我们如何将子文件夹放入部分?
- ruby-on-rails - 将轨道对象或变量传递给液体
- javascript - How to compare currentDate with ExpirationDate?
- xcode11 - iOS 14 启动屏幕故事板在 iOS 14 设备上不显示图像