【发布时间】:2019-03-18 08:01:10
【问题描述】:
我正在学习 rest api,但不断收到以下错误。为什么?我正在使用 Node JS、Mongo DB 和 Express。我是新手。
代码:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
//connect to mongoose
mongoose.connect('mongodb://localost/bookstore');
var db = mongoose.connection;
app.get('/', function(req, res){
res.send('Please use /api for the API.');
});
app.listen(3000);
console.log('Running on port 3000...');
错误:
(node:7908) DeprecationWarning: current URL string parser is deprecated, and wil
l be removed in a future version. To use the new parser, pass option { useNewUrl
Parser: true } to MongoClient.connect.
events.js:183
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE :::3000
at Server.setupListenHandle [as _listen2] (net.js:1360:14)
at listenInCluster (net.js:1401:12)
at Server.listen (net.js:1485:7)
at Function.listen (C:\apiproject\bookstore\node_modules\express\lib\applica
tion.js:618:24)
at Object.<anonymous> (C:\apiproject\bookstore\app.js:14:5)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Function.Module.runMain (module.js:694:10)
at startup (bootstrap_node.js:204:16)
at bootstrap_node.js:625:3
【问题讨论】:
-
如果您在已经启动服务的情况下打开了任何其他命令提示符,请停止它们并重新运行应用程序
-
我认为连接字符串中有错字,而不是
localhost,它是localost。 -
有两条消息。一个是关于 mongoddb URL 解析器的 DeprecationWarning,它只是一个警告,应该仍在当前版本中工作。另一个是错误监听 EADDRINUSE :::3000。这意味着您要侦听的端口 3000 已在使用中。它是使您的程序退出的原因。
标签: node.js mongodb api express mongoose