mongoose 到 mlab 连接问题:UnhandledPromiseRejectionWarning: Unhandled promise rejection
mongoose to mlab connection issues : UnhandledPromiseRejectionWarning: Unhandled promise rejection
const express = require('express');
const app = express();
const mongoose = require('mongoose');
require('./models/users');
require('./services/passport');
const authRoutes = require('./routes/authRoutes');
const Keys = require('./config/dev');
authRoutes(app);
mongoose.connect(Keys.MONGOOSE_URI);
const port = process.env.PORT || 5000;
app.listen(port);
我有一个 node express 应用程序,我正在尝试使用 mongoose 连接到 mlab 数据库。我收到以下异常:
UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): MongoNetworkError: failed to connect to server [ds111598.mlab.com:11598] otworkError: connect ECONNREFUSED 35.168.9.109:11598]
我正在使用的技术堆栈:
"mongoose": "^4.11.1",
node: 6.11.1
npm: 4.6.1
我也尝试过使用最新的 mongoose 版本,但仍然是同样的问题。我因此被困住了。有人可以帮忙吗?
谢谢
如果你是在公司代理下,你必须要出来否则你可以查看我的代码。
const options = {
useMongoClient: true,
autoIndex: false, // Don't build indexes
reconnectTries: 100, // Never stop trying to reconnect
reconnectInterval: 500, // Reconnect every 500ms
poolSize: 10, // Maintain up to 10 socket connections
// If not connected, return errors immediately rather than waiting for reconnect
bufferMaxEntries: 0
};
mongoose.connect('mongodb://user:xxxxxx@dsxxxx.mlab.com:667799/DB_NAME',options).then(
()=>{
console.log("connected to mongoDB")},
(err)=>{
console.log("err",err);
}
)
解决方案
我刚刚 运行 遇到了同样的问题,并花了几分钟尝试调试并获得成功的解决方法。
但我很容易就解决了它。
获取身份验证错误的问题是因为尚未在 mlab 上创建一个将远程连接到 mongo 的用户。
在 mlab 上成功创建数据库并不是返回文本编辑器以通过 mlab 页面上提供的 url 连接到 mongo 之前的最后一步。
必须在位于数据库详细信息页面的 mlab 上的 'USERS' 选项卡下创建用户。
添加凭据然后创建用户,最后在mlab提供的mongo中添加这些凭据url.
哇哦!您已连接。
创建一个新用户,更重要的是,确保用户密码仅包含字母数字。 No special characters like . # ,
e.t.c
我通过不使用“.”解决了这个问题。在数据库用户名中。这不清楚,但它解决了我的问题。
const express = require('express');
const app = express();
const mongoose = require('mongoose');
require('./models/users');
require('./services/passport');
const authRoutes = require('./routes/authRoutes');
const Keys = require('./config/dev');
authRoutes(app);
mongoose.connect(Keys.MONGOOSE_URI);
const port = process.env.PORT || 5000;
app.listen(port);
我有一个 node express 应用程序,我正在尝试使用 mongoose 连接到 mlab 数据库。我收到以下异常:
UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): MongoNetworkError: failed to connect to server [ds111598.mlab.com:11598] otworkError: connect ECONNREFUSED 35.168.9.109:11598]
我正在使用的技术堆栈:
"mongoose": "^4.11.1",
node: 6.11.1
npm: 4.6.1
我也尝试过使用最新的 mongoose 版本,但仍然是同样的问题。我因此被困住了。有人可以帮忙吗?
谢谢
如果你是在公司代理下,你必须要出来否则你可以查看我的代码。
const options = {
useMongoClient: true,
autoIndex: false, // Don't build indexes
reconnectTries: 100, // Never stop trying to reconnect
reconnectInterval: 500, // Reconnect every 500ms
poolSize: 10, // Maintain up to 10 socket connections
// If not connected, return errors immediately rather than waiting for reconnect
bufferMaxEntries: 0
};
mongoose.connect('mongodb://user:xxxxxx@dsxxxx.mlab.com:667799/DB_NAME',options).then(
()=>{
console.log("connected to mongoDB")},
(err)=>{
console.log("err",err);
}
)
解决方案
我刚刚 运行 遇到了同样的问题,并花了几分钟尝试调试并获得成功的解决方法。
但我很容易就解决了它。
获取身份验证错误的问题是因为尚未在 mlab 上创建一个将远程连接到 mongo 的用户。
在 mlab 上成功创建数据库并不是返回文本编辑器以通过 mlab 页面上提供的 url 连接到 mongo 之前的最后一步。
必须在位于数据库详细信息页面的 mlab 上的 'USERS' 选项卡下创建用户。
添加凭据然后创建用户,最后在mlab提供的mongo中添加这些凭据url.
哇哦!您已连接。
创建一个新用户,更重要的是,确保用户密码仅包含字母数字。 No special characters like . # ,
e.t.c
我通过不使用“.”解决了这个问题。在数据库用户名中。这不清楚,但它解决了我的问题。