Reputation:
i was working with a node process but when i run the project i got these error.
i am using windows i checked whether mongodb is up and running through robo3T
var express = require("express");
var app = express();
var bodyParser = require("body-parser");
var mongoose = require("mongoose");
var Vechicle = require("./app/models/vehicle");
//configuering app for bodyparser
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
//setting up listening port
var port = process.env.PORT || 3000;
//connnect to db
mongoose.connect(
"mongodb://localhot:27017/mydb",
{ useNewUrlParser: true },
);
//api route
var router = express.Router();
//for prefixing /api route
app.use("/api", router);
//middeleware
router.use(function(req, res, next) {
console.log("middle ware is working");
next();
});
//test route
router.get("/", function(req, res) {
res.json({ message: "Welcome to my world" });
});
router
.route("/vehicle")
.post(function(req, res) {
var vehicle = new Vechicle();
vehicle.make = req.body.make;
vehicle.model = req.body.model;
vehicle.color = req.body.color;
vehicle.save(function(err) {
if (err) {
res.send(err);
}
res.json({ message: "no error occured" });
});
})
.get(function(req, res) {
Vechicle.find(function(err, vehicle) {
if (err) {
res.send(err);
}
res.json(vehicle);
});
});
router.route("/vehicle/:vehicle_id").get(function(req, res) {
Vechicle.findById(req.param.vehicle_id, function(err, Vechicle) {
if (err) {
res.send(err);
}
res.json(vehicle);
});
});
router.route("/vehicle/make/:make").get(function(req, res) {
Vechicle.find({ make: req.param.make }, function(err, Vechicle) {
if (err) {
res.send(err);
}
res.json(vehicle);
});
});
router.route("/vehicle/make/:color").get(function(req, res) {
Vechicle.find({ color: req.param.color }, function(err, Vechicle) {
if (err) {
res.send(err);
}
res.json(vehicle);
});
});
//server connecting
app.listen(port);
console.log("server running on port" + port);
server running on port3000
(node:2508) UnhandledPromiseRejectionWarning: MongoNetworkError: failed to connect to server [localhot:27017] on first connect [MongoNetworkError: getaddrinfo ENOTFOUND localhot localhot:27017]
at Pool.<anonymous> (F:\Node_Rest_Api\Helloapi\node_modules\mongodb-core\lib\topologies\server.js:431:11)
at Pool.emit (events.js:198:13)
at connect (F:\Node_Rest_Api\Helloapi\node_modules\mongodb-core\lib\connection\pool.js:557:14)
at makeConnection (F:\Node_Rest_Api\Helloapi\node_modules\mongodb-core\lib\connection\connect.js:39:11)
at callback (F:\Node_Rest_Api\Helloapi\node_modules\mongodb-core\lib\connection\connect.js:261:5)
at Socket.err (F:\Node_Rest_Api\Helloapi\node_modules\mongodb-core\lib\connection\connect.js:286:7)
at Object.onceWrapper (events.js:286:20)
at Socket.emit (events.js:198:13)
at emitErrorNT (internal/streams/destroy.js:91:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
(node:2508) 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(). (rejection id: 1)
(node:2508) [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.
Upvotes: 0
Views: 45
Reputation: 6043
The error says that Node can't connect to the host localhot
. You've got a typo in the hostname, it should be localhost
failed to connect to server [localhot:27017]
Upvotes: 0
Reputation: 169022
The error you're getting,
[MongoNetworkError: getaddrinfo ENOTFOUND localhot localhot:27017]
has a pretty clear typo – you probably mean localhost
, not localhot
.
Upvotes: 1