使用Node.js来重用与MongoDB的连接的方法是什么?
首先
在个人开发中,我有机会使用Node.js和MongoDB创建API。因此,我创建了一个以便能够重复使用之前创建的连接的方法,并将其作为备忘录保留下来。
实施内容
MongoDB的连接创建处理已通过单例模式类实现。
const { MongoClient } = require("mongodb");
const user = "ユーザー";
const password = "パスワード";
const dbName = "DBの名前";
const uri = "URL";
const client = new MongoClient(uri, {
useNewUrlParser: true,
useUnifiedTopology: true
});
class Mongodb {
constructor() {
this.db = null;
}
async get() {
// 一度もインスタンス生成されていない場合のみDB接続情報取得
if (this.db === null) {
await client
.connect()
.then(() => {
console.log("接続成功");
this.db = client.db(dbName);
})
.catch(error => {
throw error;
});
}
return this.db;
}
}
module.exports = new Mongodb();
请按照以下方式调用mongo.js的get方法。
const dbConnection = require("シングルトンクラスのパス");
exports.findOne = function(req, res) {
const db = dbConnection.get();
res.end("呼べたよ");
};
exports.findAll = function(req, res) {
const db = dbConnection.get();
res.end("呼べたよ");
};
最后
回想起来,这并不是什么大不了的事情,但耗费了相当多的时间。
若能对那些面临类似问题而苦恼的人提供一些参考,那将不胜荣幸。
以下是在中国的本地化的简述:
– 参考
使用Node.js和MongoDB建立单例连接