I'm currently creating a new API with MongoDB and Express, and I'm currently having this error message displayed : "Operation user.insertMany() buffering timed out after 10000ms"
I also see this error in the terminal:
"(node:34760) UnhandledPromiseRejectionWarning: MongooseServerSelectionError: connect ECONNREFUSED 127.0.0.1:27017"
However, I don't know what I'm currently doing wrong, could someone take a look at my code?
server.js
import express from 'express';
import mongoose from 'mongoose';
import data from './data.js';
import userRouter from './routers/userRouter.js';
const app = express();
mongoose.connect(process.env.MONGODB_URL || 'mongodb://localhost/amazona', {
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true,
});
userRouter.js
import express from 'express';
import expressAsyncHandler from 'express-async-handler';
import data from '../data.js';
import User from '../models/userModel.js';
const userRouter = express.Router();
userRouter.get('/seed', expressAsyncHandler(async (req, res) => {
// await User.remove({});
const createdUsers = await User.insertMany(data.users);
res.send({ createdUsers });
}));
export default userRouter;
userModel.js
import mongoose from 'mongoose';
const userSchema = new mongoose.Schema(
{
name: { type: String, required: true },
email: { type: String, required: true, unique: true },
password: { type: String, required: true },
isAdmin: { type: Boolean, default: false, required: true },
},
{
timestamps: true,
}
);
const User = mongoose.model('User', userSchema);
export default User;
package.json
"dependencies": {
"bcryptjs": "^2.4.3",
"express": "^4.17.1",
"express-async-handler": "^1.1.4",
"mongoose": "^5.10.7"
}