4

我是一名学生,试图为一个项目构建一个宁静的 API。我对此很陌生,所以如果它很容易解决,请原谅。

我正在使用“mongoose”:“^5.3.4”,并尝试连接到 Mongo DB Atlas 3.6.8 中名为“128project”的集群。

这是我用来连接的片段:

mongoose.connect( uri ,{ useNewUrlParser: true }).catch(function (reason) {
    console.log('error ', reason);
});

我使用的 URI 正是 Mongo Atlas DB 提供的。

我在终端得到这个:

error  { MongoError: setName from ismaster does not match provided connection setName [128project-shard-0] != [128]
    at ReplSetState.update (C:\Users\TAHP TAHP TAHP\Desktop\128test\node_modules\mongodb-core\lib\topologies\replset_state.js:403:14)
    at C:\Users\TAHP TAHP TAHP\Desktop\128test\node_modules\mongodb-core\lib\topologies\replset.js:809:45
    at applyAuthenticationContexts (C:\Users\TAHP TAHP TAHP\Desktop\128test\node_modules\mongodb-core\lib\topologies\replset.js:731:12)
    at Server.<anonymous> (C:\Users\TAHP TAHP TAHP\Desktop\128test\node_modules\mongodb-core\lib\topologies\replset.js:802:7)
    at Object.onceWrapper (events.js:315:30)
    at emitOne (events.js:116:13)
    at Server.emit (events.js:211:7)
    at C:\Users\TAHP TAHP TAHP\Desktop\128test\node_modules\mongodb-core\lib\topologies\server.js:508:16
    at C:\Users\TAHP TAHP TAHP\Desktop\128test\node_modules\mongodb-core\lib\connection\pool.js:532:18
    at _combinedTickCallback (internal/process/next_tick.js:132:7)
    at process._tickCallback (internal/process/next_tick.js:181:9) name: 'MongoError', [Symbol(mongoErrorContextSymbol)]: {} }

任何反馈表示赞赏!

4

2 回答 2

2

为了完成 - 在连接到 MongoDB 4.2 ReplicaSet 时,这也发生在我身上。我从 URI 中删除了 replicaSet=some_name 部分,它起作用了。

对于某些驱动程序来说,这是一个已知问题,请参阅

于 2020-12-18T09:49:42.043 回答
0

你要连接的uri是什么,必须是这种格式

mongodb://username:password@10.0.0.298,10.0.1.299/db_name?replicaSet=replSetName
于 2019-04-18T13:08:30.897 回答