mongoose 无法连接到MongoDB replicaSet

jexiocij  于 2023-05-18  发布在  Go
关注(0)|答案(1)|浏览(270)

我尝试使用MongoDB更改流,我需要使用replicaSets,但mongoDB不让我使用它,因为负载均衡器,我试图像这样设置它为false:

mongodb+srv://${process.env.DB_USERNAME}:${process.env.DB_PASSWORD}@${process.env.DB_CLUSTER}/?replicaSet=rs0&loadBalanced=false&readPreference=secondaryPreferred

但它仍然给我同样的错误:

MongoParseError: loadBalanced option not supported with a replicaSet option

下面是我的连接代码:

const uri = `mongodb+srv://${process.env.DB_USERNAME}:${process.env.DB_PASSWORD}@${process.env.DB_CLUSTER}/?replicaSet=rs0&loadBalanced=false&readPreference=secondaryPreferred`;
    const client = new MongoClient(uri, {
      useNewUrlParser: true,
      useUnifiedTopology: true,
    });

    await client.connect();
yzuktlbb

yzuktlbb1#

我假设当您根本不配置loadBalanced时,您会看到相同的异常。如果是这样,原因是您的服务器在txt记录中配置了loadBalanced选项。当驱动程序在解析SRV后获得这些记录时,它会隐式地将它们添加到连接字符串中。IE服务器/驱动程序期望在不支持副本集选项的负载平衡模式下工作。nslookup应该可以帮助检查它。我不是100%确定,但我想是这样的:nslookup -q=TXT yoururl.com应该有助于看到它

相关问题