我正在尝试连接到一个数据库,该数据库要求我提供replicaSet
选项。当我采用这些选项并将它们作为URI中的查询字符串传递时,它会引发以下错误(如果我选择使用newUrlParser
):
MongoError: seed list contains no mongos proxies, replicaset connections requires
the parameter replicaSet to be supplied in the URI or options object,
mongodb://server:port/db?replicaSet=name
但是,如果我将replicaSet
选项作为MongoClient options
对象的一部分传递,它们似乎可以正常工作:
client = await MongoClient.connect(DB_URI, {
newUrlParser: true,
replicaSet: ...
}
问题是,连接字符串的每个部分都存储为ENV变量(我无法更改),因此实际上将它们设置为"?replicaSet=...&otherOption=..."
,我不想将它们解析为一个对象以使其正常工作。
或者,我可以禁用newUrlParser
,但这似乎并不是解决此问题的最佳方法。我设法找到人在谈论类似的问题on a JIRA thread,但似乎已经为他们解决了这个问题,并且我使用的是最新版本,但仍然可以看到问题。
版本:"mongodb": "3.2.2"