首页 > 解决方案 > 来自 MongoDB 的错误消息“操作 `users.insertMany()` 缓冲在 10000 毫秒后超时”

问题描述

我目前正在使用 MongoDB 和 Express 创建一个新的 API,并且我目前正在显示此错误消息:“操作 user.insertMany() 缓冲在 10000 毫秒后超时”

我也在终端中看到了这个错误:

“(节点:34760)UnhandledPromiseRejectionWarning:MongooseServerSelectionError:连接 ECONNREFUSED 127.0.0.1:27017”

但是,我不知道我目前做错了什么,有人可以看看我的代码吗?

服务器.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,
});

用户路由器.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;

用户模型.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;

包.json

"dependencies": {
    "bcryptjs": "^2.4.3",
    "express": "^4.17.1",
    "express-async-handler": "^1.1.4",
    "mongoose": "^5.10.7"
  }

标签: javascriptnode.jsmongodbexpressmongoose

解决方案


推荐阅读