I am learning MERN stack and currently following this tutorial.
- I have connected with MongoDB database success fully. error
MongooseError: Operation
users.findOne()buffering timed out after 10000ms at Timeout.
What I have tried so far,
- I have changed the
nodeversion to 16. - I have checked that my
mongoDBdatabase has access to allIP addresses. - I have tried to convert my
router.post("/signup", (req, res))router toasyn-await. But no luck was found. -Below is my code
const express = require("express");
const router = express.Router();
const mongoose = require("mongoose");
const User = mongoose.model("User");
router.get("/", (req, res) => {
res.send("Hi new");
});
router.post("/signup", (req, res) => {
const { name, email, password } = req.body;
if (!email || !password || !name) {
res.status(422).json({ error: "Please provide all data" });
}
User.findOne({ email: email })
.then((isUserExist) => {
if (isUserExist) {
return res.status(422).json({ error: "User already exist" });
}
// creating an user object to story it in database
const user = new User({
name,
email,
password,
});
user
.save()
.then((user) => {
res.json({ message: "User has been registered successfully.." });
})
.catch((err) => {
console.log("Something went wrong", err);
});
})
.catch((err) => {
console.log("Something went wrong", err);
});
});
module.exports = router;
Mongodb connection code
const express = require("express");
const app = express();
const mongoose = require("mongoose");
const { MONGOURI } = require("./keys");
const port = 8080;
require("../models/user");
app.use(express.json());
app.use(require("../routes/auth"));
mongoose.connect(MONGOURI, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
mongoose.connection.on("connected", () => {
console.log("Keep going....");
});
mongoose.connection.on("error", (err) => {
console.log("Oh no error:", err);
});
app.listen(port, () => {
console.log("GAME ON");
});
