首页 > 解决方案 > 无法通过以下代码连接到 MongoDB 云。我需要知道这段代码有什么问题?

问题描述

我无法使用以下代码连接到云 mongodb。谁能告诉我这段代码有什么问题?名称:'MongoNetworkError',errorLabels:['TransientTransactionError'],[Symbol(mongoErrorContextSymbol)]:{}}

const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');

const app = express();

//body parser middleware
app.use(bodyParser.json());

//db config
const db = require('./config/keys').mongoURI;

//Connect to mongo
mongoose
.connect(db, { useNewUrlParser: true })
.then(() => console.log("MongoDB connected"))
.catch(err => console.log(err));

const port = process.env.PORT || 5000;

app.listen(port, () => console.log('server started on port ${port}'));

标签: node.jsmongodbexpress

解决方案


我相信您的代码看起来不错您收到的错误 TransientTransactionError 是暂时的,请使用事件来处理您的连接结果

mongoose
    .connect(db, { useNewUrlParser: true })
mongooose.connection.once('open', () => {
    console.log('db connection success');
});
mongooose.connection.on('err', (err) => {
    console.log('db connection failed');
});

推荐阅读