我下载了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
答案 0 :(得分:3)
在发出 npm run dev
之前考虑到 MongoDB 应该正在运行。
您必须先使用 mongod 命令初始化数据库引擎。 有时很容易忘记这一步。
答案 1 :(得分:0)
我认为您的网址格式不正确
在URL下方使用
mongodb://localhost:27017/{DATABASE_NAME}
答案 2 :(得分:0)
首先,在本地计算机上启动MongoDB并使用localhost:27017
进行连接。
另外,请不要忘记在代码中使用URL mongodb://localhost:27017/{DATABASE_NAME}
。
答案 3 :(得分:0)
我认为您需要在您的机器上安装并运行 MongoDB 服务器。
然后在您的程序中尝试以下代码
mongoose.connect('mongodb://localhost/myapp', { useNewUrlParser: 真 });
要检查MongoDB服务,您可以在任务管理器服务中执行或在命令提示符中运行“mongo”命令。
答案 4 :(得分:0)
我正在使用有关使用 mongoDb 的教程,但遇到了此错误。我使用的是 Windows 环境,所以我只是重新安装了我的 mongo 社区服务器。在我刚刚使用 mongoDb 指南针之前,我没有安装任何可以监听的服务器。它有效。
答案 5 :(得分:0)
为未来的搜索者发帖,我正在使用 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
答案 6 :(得分:-1)
对于 Windows,只需从 MongoDBCommunity Edition MSI 安装程序修复并通过 Compass 或您的 Node JS 应用程序连接。文件可能已损坏。