0

我在 node.js 中使用 mongodb 数据库和 mongodb 模块。我想知道如何将一个 mongodb 实例用于不同的模块?

我在 app.js 中创建了一个 mongodb 数据库实例。对于路由,我使用了另一个模块 myroutes.js,我想在 myroutes.js 中重新使用相同的 mongodb 实例(我已经在 app.js 中创建)。

我该怎么做?我尝试使用 app.set() 但它不起作用。

4

1 回答 1

1

您需要访问单例设计模式,该模式将特定对象的实例数限制为一个。这个单一实例称为单例。

例子

var Singleton = (function () {
var instance;

function createInstance() {
    var object = new Object("I am the instance");
    return object;
}

return {
    getInstance: function () {
        if (!instance) {
            instance = createInstance();
        }
        return instance;
    }
};
})();

function run() {

var instance1 = Singleton.getInstance();
var instance2 = Singleton.getInstance();

alert("Same instance? " + (instance1 === instance2));  
}

对于 MongoDB 单例,请参阅此https://stackoverflow.com/a/44351125/8201020

于 2021-02-25T12:31:45.053 回答