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"。
我有一个使用 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"。