UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): MongoError: failed to connect to server on first connect

UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): MongoError: failed to connect to server on first connect

我有一个使用 MEAN 堆栈开发的应用程序。我收到以下错误

(node:4920) UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝 ID:1):MongoError:无法首先连接到服务器 [ds047865.mongolab.com:47865]连接 [星期一 goError:连接 ECONNREFUSED 130.211.211.211:47865]

(node:4920) [DEP0018] 弃用警告:未处理的承诺拒绝已弃用。将来,未处理的承诺拒绝将终止 Node.js 进程 非零退出代码

这是我的代码:

    var mongoose = require('mongoose');
var validator = require('mongoose-unique-validator'); 
var nodemailer = require('nodemailer');
mongoose.connect('mongodb://naresh:naresh@ds249025.mlab.com:49025/languageapp', { useMongoClient: true });  
var db = mongoose.connection;
db.on('connect', function () { console.log('connected'); });


var userSchema = new mongoose.Schema({
    userName: { type: String, required: true, index: true, unique: true },
    userEmail: { type: String, required: true, index: true, unique: true },
    userPass: { type: String, required: true },
    Date: { type: String, default: Date.now() },
    userResult: String
});
var questionSchema = new mongoose.Schema({
    question: { type: String, unique: true },
    op1: String,
    op2: String,
    op3: String,
    op4: String,
    rightAnswer: String,
    questionType: String,
    questionID: String,
    quizTopic: String,
    CreatedAt: { type: String, default: Date.now() }
});
var resultSchema = new mongoose.Schema({
    userID: String,
    userName: String,
    userMatriculation: String,
    userEmail: String,
    quizTopic: String,
    userResult: String,
    date: { type: String, default: Date.now() }
});
userSchema.plugin(validator);
var User = mongoose.model('Users', userSchema);
var Question = mongoose.model('Questions', questionSchema);
var Result = mongoose.model('Results', resultSchema);

尽管出现这些错误,但我没有使用任何承诺。

根据您的连接字符串 'mongodb://naresh:naresh@ds249025.mlab.com:49025/languageapp',dbuser 是 naresh,dbpassword 也是 naresh。因此,您必须确保您已经(明确地)创建了一个具有相同凭据的数据库用户 (dbuser)。这与您用于登录 mlab.com.

的凭据不同

要创建数据库用户,请转到 mlab.com 门户中的用户实验室,然后单击 "Add database user"。