'const err = new MongooseError(message);
I am trying to create a project which allows the user to enter "email", "username" and "Password" to register to the site, When I try to enter a user using the "username", email" and "password" to enter this site, I get the following error:
Backend server is running
not connected
C:\Users\odewo\chat-app\NODE-REST-API\node_modules\mongoose\lib\drivers\node-mongodb-native\collection.js:149
const err = new MongooseError(message);
^
MongooseError: Operation `users.insertOne()` buffering timed out after 10000ms
at Timeout.<anonymous> (C:\Users\odewo\chat-app\NODE-REST-API\node_modules\mongoose\lib\drivers\node-mongodb-native\collection.js:149:23)
at listOnTimeout (node:internal/timers:557:17)
at processTimers (node:internal/timers:500:7)
Below is my mongoose code:
mongoose.connect(process.env.MONGO_URL, {
userNewUrlPaser: true,
useUnifiedTopology: true,
useCreateIndex: true,
})
.then(() => {
console.log('Connected to MongoDB');
})
.catch((e) => {
console.log('not connected');
});
This is auth.js code for routes:
const router = require('express').Router();
const User = require('../models/User');
// REGISTER
router.get('/register', async (req, res) => {
const user = await new User({
username: 'samson',
email: '[email protected]',
password: '123456',
});
await user.save();
res.send('ok');
});
module.exports = router;
I will really appreciate your help
Solution 1:[1]
The problem is not solved by removing the await. It is better to implement this function asynchronously. You must log in to your mongo account and add your IP address from the Network Access part.
Solution 2:[2]
Check your MONGO_URL and make sure your password or username is not wrapped in < > tags. I think your code is fine but its obvious that there are some problems. I would be checking the .env file to make sure.
Solution 3:[3]
you should remove the await before the new User declaration , use await just when you are waiting for the result of a promise like in await user.save()
Solution 4:[4]
Monogo Db Atlas -> Network Access -> IP Access List -> IP address updated to access from any where works for me.
Reason : My Internet provider allots dynamic IP and every time i login the IP Address changes and this throws error.
Solution 5:[5]
You can solve this problem by using a simple password for your atlasDatabase meaning avoid using any special characters in your password like "@" or "$" and if you use then they must be url encoded that's why it is better if you avoid special characters and it worked for me and I hope it will work for you too.enter image description here
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | ParisaN |
| Solution 2 | |
| Solution 3 | mohamed alattal |
| Solution 4 | Agasthian Rathinavel |
| Solution 5 | Priyansh Gupta |

