从Node内访问Mongo DB

时间:2018-10-12 12:44:53

标签: javascript mongodb mongoose

我正在尝试通过节点连接到数据库。我已经使用以下形式的Mongo URL来处理较小的数据库:

HashMap

当我切换出使用更大的数据库时,请使用以下形式的Mongo URL:

mongodb://[username]:[password]@db1-a0.example.net:27017/[DB-Name]

它将引发“ RangeError:超出最大调用堆栈大小”错误,并且将无法连接。该URL是数据库之间唯一更改的内容。

我已经检查了数据库的详细信息,并且可以通过RoboMongo / Robo 3T访问它,因此数据库肯定存在。

尝试使用以下代码通过Mongoose版本^ 5.2.10连接:

mongodb://[username]:[password]@db1-a1.example.net:27017,db2.example.net:2500/[DB-Name]?replicaSet=test

1 个答案:

答案 0 :(得分:0)

好像您正在尝试使用副本集。如果是这样,请尝试按照以下说明进行连接`

var uri = `mongodb://${userName}:${encodeURIComponent(password)}@${clusterName}/${dbName}?ssl=true&replicaSet=${process.env.replicaSetName}&authSource=${authDB}`

var db = mongoose.connect(uri).then().catch() // Whatever inside the then and catch blocks

`