使用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建立单例连接

广告
将在 10 秒后关闭
bannerAds