这是mongoose连接代码
mongoose.connect('mongodb://root:kong1234@172.19.35.141:27017/flbb?authSouce=flbb&replicaSet=appa', {
useNewUrlParser: true,
useCreateIndex: true,
useFindAndModify: false,
authSouce:"flbb",
});
报错提示
connection error: { MongoNetworkError: failed to connect to server [127.0.0.1:27020] on first connect [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27020]
at Pool.<anonymous> (E:\flbb\node_modules\mongodb-core\lib\topologies\server.js:564:11)
at Pool.emit (events.js:189:13)
at Connection.<anonymous> (E:\flbb\node_modules\mongodb-core\lib\connection\pool.js:317:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
name: 'MongoNetworkError',
errorLabels: [ 'TransientTransactionError' ],
[Symbol(mongoErrorContextSymbol)]: {} }
mongodb 集群配置 为一主一从一仲裁
mongodb主节点配置--------------------
port=27017
dbpath=D:\mongodb\v2\1\db
replSet=appa
keyFile=D:\mongodb\key.jks
bind_ip=0.0.0.0
auth=true
从节点配置-----------------------
port=27020
dbpath=D:\mongodb\v2\2\db
replSet=appa
keyFile=D:\mongodb\key.jks
bind_ip=0.0.0.0
auth=false
根据报错信息,连接错误发生在 127.0.0.1:27020,这是一个本地地址,而不是你配置中的 172.19.35.141:27017。这可能是因为你的代码中没有指定具体的节点,而是使用了默认值。
你可以尝试在 mongoose.connect() 中添加一个选项来指定连接到 MongoDB 副本集的主节点,例如:
mongoose.connect('mongodb://root:kong1234@172.19.35.141:27017,172.19.35.141:27020/flbb?authSource=flbb&replicaSet=appa', {
useNewUrlParser: true,
useCreateIndex: true,
useFindAndModify: false,
replicaSet: 'appa',
authSource: 'flbb'
});
请注意,我将主节点和从节点的 IP 地址都加入了连接字符串,并指定了 replicaSet 和 authSource。这应该可以让你成功连接到 MongoDB 的副本集。