【发布时间】:2016-02-27 16:58:12
【问题描述】:
我无法使用以下代码连接到 mongolab:
// DATABASE CONNECTION
var db1 = mongoose.createConnection('mongodb://foo:bar@ds011168.mlab.com:11168/db1');
var db2 = db1.useDb('mongodb://foo:bar@ds011168.mlab.com:12341/db2');
我试图跨 2 个数据库创建多重连接,所以我将 .createConnection() 用于第一个数据库,然后将 db1.useDb() 用于第二个数据库。这对localhost 非常有效,但是当我切换到 mongolab 时,一切都崩溃了。
我的 mongolab 设置没有任何问题,因为当我只使用 connect() 函数时:var db1 = mongoose.connect('mongodb://foo:bar@ds011168.mlab.com:11168/db1'); 它可以毫无问题地连接。但是,当我使用上面给定的代码(第一块代码)时,会导致此错误:MongoError: database names cannot contain the character '.'
我的目标是能够连接到 mongolab 上的多个数据库。
我正在使用最新的 mongoose npm。
【问题讨论】:
-
考虑到错误,因为您的任何一个示例都不太可能是您的实际连接字符串(请不要发布),但错误当然会指向您实际连接中的确切问题字符串。
-
是的,当然它们不是实际的连接 uri。但正如我所说,当我使用非常精确相同的 mongolab uri 使用
.connect()时,它工作得很好。 -
@BlakesSeven 没关系,我想出了解决这个问题的办法。
-
嗯,它必须是一个“错字”,这就是为什么我立即投票决定关闭。但是你真的应该关闭自己,因为这样的错误对他人没有任何好处。
-
@BlakesSeven 它必须是,但没有。如果您复制并粘贴一个字符串,系统会意外创建一个类型吗?我想不是。不要误会我的意思,但我知道如何看到“错字”
标签: node.js mongodb mongoose mlab