Mongoose连接MongoDB的连接方式踩坑

如果用 mongoose.connect 的方式连,如果我 Session 服务器和 Cache 服务器分别位于相同或者不同的主机,以上方式会将所有的 Collection 建在同一个库里,即使指定了库名。用 mongoose.createConnection 的方式会将连接建在 Colloection 上,所以可用,代码如下:

getCacheDb: () => {
    const cacheDb = mongoose.createConnection(globalConf.cacheServer.url, globalConf.cacheServer.options);
    cacheDb.once('connected', err => {
        if (err) console.log('cacheServer connectted failed:' + err);
    });
    return cacheDb;
},
getSessionDb: () => {
    const sessionDb = mongoose.createConnection(globalConf.sessionServer.url);
    sessionDb.once('connected', err => {
        if (err) console.log('sessionServer connectted failed:' + err);
    });
    return sessionDb;
}

参考资料

  • mongoose中connect()、createConnection()和connection的区别和作用
  • 【大雾】mongoose中createConnection和connect的大坑!

你可能感兴趣的:(Mongoose连接MongoDB的连接方式踩坑)