Mongoose error of buffering timed out after 1000ms

Viewed 48

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 node version to 16.
  • I have checked that my mongoDB database has access to all IP addresses.
  • I have tried to convert my router.post("/signup", (req, res)) router to asyn-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");
});

  • Below is a screenshot showing keep going... message before giving an error. Console screenshot
0 Answers
Related