如何解决UnhandledPromiseRejection警告:MongooseServerSelectionError:连接ECONNREFUSED 127.0.0.1:27017
我下载了mongoDB,它工作正常,但是当我想使用REST API并在命令行中使用npm run dev
时,出现了此错误。
That's an error
(node:10100) UnhandledPromiseRejectionWarning: MongooseServerSelectionError: connect ECONNREFUSED 127.0.0.1:27017
at NativeConnection.Connection.openUri (D:\Node Js\task-manager\node_modules\mongoose\lib\connection.js:800:32)
at D:\Node Js\task-manager\node_modules\mongoose\lib\index.js:341:10
at D:\Node Js\task-manager\node_modules\mongoose\lib\helpers\promiSEOrCallback.js:31:5
at new Promise (<anonymous>)
at promiSEOrCallback (D:\Node Js\task-manager\node_modules\mongoose\lib\helpers\promiSEOrCallback.js:30:10)
at Mongoose.connect (D:\Node Js\task-manager\node_modules\mongoose\lib\index.js:340:10)
at Object.<anonymous> (D:\Node Js\task-manager\src\db\mongoose.js:3:10)
at Module._compile (internal/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
at Module.load (internal/modules/cjs/loader.js:985:32)
at Function.Module._load (internal/modules/cjs/loader.js:878:14)
at Module.require (internal/modules/cjs/loader.js:1025:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object.<anonymous> (D:\Node Js\task-manager\src\index.js:2:1)
at Module._compile (internal/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
(node:10100) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block,or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection,use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:10100) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future,promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
,在此之前,当我想连接数据库并进行工程时,它可以工作,但现在却不起作用,当我尝试连接时,它正在停止 And thats not connecting picture
解决方法
在发出 npm run dev
之前考虑到 MongoDB 应该正在运行。
您必须先使用 mongod 命令初始化数据库引擎。 有时很容易忘记这一步。
,我认为您的网址格式不正确
在URL下方使用
mongodb://localhost:27017/{DATABASE_NAME}
,
首先,在本地计算机上启动MongoDB并使用localhost:27017
进行连接。
另外,请不要忘记在代码中使用URL mongodb://localhost:27017/{DATABASE_NAME}
。
我认为您需要在您的机器上安装并运行 MongoDB 服务器。
然后在您的程序中尝试以下代码
mongoose.connect('mongodb://localhost/myapp',{ useNewUrlParser: 真 });
要检查MongoDB服务,您可以在任务管理器服务中执行或在命令提示符中运行“mongo”命令。
,我正在使用有关使用 mongoDb 的教程,但遇到了此错误。我使用的是 Windows 环境,所以我只是重新安装了我的 mongo 社区服务器。在我刚刚使用 mongoDb 指南针之前,我没有安装任何可以监听的服务器。它有效。
,为未来的搜索者发帖,我正在使用 docker-compose 并且出现此错误。
我通过环境变量传递用户和密码,但忘记将其复制到 docker-compose 中,因此我的变量返回 ArrayList<Ticket> = new ArrayList();
。
如果出现此错误,则应验证是否将变量传递到 private void loadFromFile(String fileName) {
ArrayList<Ticket> ticketsList = new ArrayList();
try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
String line = "";
String[] tokens;
Ticket ticket = new Ticket();
float totalTicketCost = (float) 0.00;
int numberOfLines = 0;
while(reader.ready()){
line = reader.readLine();
tokens = line.split("\t");
if (tokens.length == 9) {
ticket = new Ticket(tokens[0],tokens[1],tokens[2],tokens[3],tokens[4],tokens[5],tokens[6],tokens[7],tokens[8]);
ticketsList.add(ticket);
}
area.append(ticket.toString());
totalTicketCost += Float.parseFloat(tokens[5]);
// format dacimals for total cost
DecimalFormat df = new DecimalFormat();
df.setMaximumFractionDigits(2);
numberOfTickets.setText(String.valueOf(numberOfLines));
totalCost.setText(String.valueOf(df.format(totalTicketCost)));
numberOfLines++; //Total number of tickets
}
// Since nothing works let's try the C way of finding the the biggest ticketCost
float tmp = Float.valueOf(ticketsList.get(0).getTicketPrice());
float max = Float.valueOf(ticketsList.get(0).getTicketPrice());
for( int i = 0; i < ticketsList.size(); i++){
tmp = Float.valueOf(ticketsList.get(i).getTicketPrice());
if( max < tmp ){
max = tmp;
// currentBig = Float.valueOf(ticketsList.get(i+1).getTicketPrice());
}
System.out.println(tmp + "\n");
}
} catch (Exception e) {
}
}
文件到 nodejs 容器。
即:
undefined
,
对于 Windows,只需从 MongoDBCommunity Edition MSI 安装程序修复并通过 Compass 或您的 Node JS 应用程序连接。文件可能已损坏。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。