【问题标题】:How can I connect to multiple MongoDB databases using monk?如何使用僧侣连接到多个 MongoDB 数据库?
【发布时间】:2014-12-23 07:37:32
【问题描述】:

我有一个包含 2 个模块的 Node.js 应用程序,每个模块都有自己的数据库。 我正在使用僧侣连接到这些数据库,它们可以各自连接到自己的数据库,还是每个应用程序只能连接一个数据库?

此代码用于两个模块:

var mongo = require('mongodb');
var monk = require('monk');
...

module.exports = function(modules) {

    ...

    var StorageClass = function() {
        var myDb;

        this.init = function() {
            console.log('Connecting to Mongo DB on %s', config.database.URL);
            myDb = monk(config.database.URL);
        }

        ...
    }

    var storage = new CatchupStorageClass(); 
    storage.init();
    return storage;
}

看起来当这段代码在第二个模块中执行时,它会清除第一个模块的配置并用自己的替换它。这两个模块甚至不使用共享存储类,它们都有自己的(复制的)副本,但名称不同。

如何在 Node.js 应用程序中拥有多个连接?和尚支持吗?

【问题讨论】:

  • 看起来问题来自 Passport.js,两个模块都应用了相同的策略,僧侣似乎没有任何问题。一旦我弄清楚到底出了什么问题,我会尽快更新。

标签: node.js mongodb monk


【解决方案1】:

是的,monkey 确实支持在同一个应用程序中连接到不同的数据库。 我的问题来自于在 passportjs 中错误使用多个基本策略。 我只需要分别命名我的不同基本策略:Use multiple local strategies in PassportJS

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-30
    • 2017-10-26
    • 1970-01-01
    • 2022-07-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2022-12-18
    相关资源
    最近更新 更多