首页 > 解决方案 > 操作 `.find()/insertOne()` 在 10000 后缓冲超时

问题描述

我正在尝试使用 Angular、Express、Node 和 Api 构建雇主网站,雇主可以在其中搜索、创建、插入和删除员工。单击“显示员工”时,将显示所有员工的列表。运行我的后端和前端后,当我尝试完成任何操作时,我在终端中收到此错误。我不确定需要什么代码来帮助我,但任何帮助将不胜感激。

错误信息图片

员工.routes.js

const express = require('express');
const app = express();
 
const employeeRoute = express.Router();
let Employee = require('../model/Employee');
 
// Add Employee
employeeRoute.route('/add-employee').post((req, res, next) => {
    Employee.create(req.body, (error, data) => {
    if (error) {
      return next(error)
    } else {
      res.json(data)
    }
  })
});
 
// Get all Employees
employeeRoute.route('/').get((req, res, next) => {
    Employee.find(req.body, (error, data) => {
    if (error) {
      return next(error)
    } else {
      res.json(data)
    }
  })
})
 
// Get Employee
employeeRoute.route('/read-employee/:id').get((req, res, next) => {
    Employee.findById(req.params.id, (error, data) => {
    if (error) {
      return next(error)
    } else {
      res.json(data)
    }
  })
})
 
 
// Update Employee
employeeRoute.route('/update-employee/:id').put((req, res, next) => {
    Employee.findByIdAndUpdate(req.params.id, {
    $set: req.body
  }, (error, data) => {
    if (error) {
      return next(error);
      console.log(error)
    } else {
      res.json(data)
      console.log('Employee updated successfully!')
    }
  })
})
 
// Delete Employee
employeeRoute.route('/delete-employee/:id').delete((req, res, next) => {
    Employee.findByIdAndRemove(req.params.id, (error, data) => {
    if (error) {
      return next(error);
    } else {
      res.status(200).json({
        msg: data
      })
    }
  })
})
 
module.exports = employeeRoute;

数据库.js

module.exports = {
    db: 'mongodb://localhost:27017/employees'
};

员工.js

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

let Employee = new Schema({
  firstName: {
    type: String
  },
  lastName: {
    type: String
  },
  wage: {
    type: Number
  },
  department: {
    type: String
  }
}, {
  collection: 'employees'
})
 
module.exports = mongoose.model('Employee', Employee)

index.js

let express = require('express'),
  path = require('path'),
  mongoose = require('mongoose'),
  cors = require('cors'),
  bodyParser = require('body-parser')
 
mongoose.Promise = global.Promise;

mongoose.connect('mongodb://localhost:27017/employees', { useNewUrlParser: true, useUnifiedTopology: true
}).then(() => {
    console.log('Database sucessfully connected ')
  },
  error => {
    console.log('Database error: ' + error)
  }
)
 
const employeeRoute = require('../node-backend/routes/employee.routes')
 
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
  extended: false
}));
app.use(cors());
 
// Static directory path
app.use(express.static(path.join(__dirname, 'dist/autumn-repeats-app')));
 
 
// API root
app.use('/api', employeeRoute)
 
// PORT
const port = process.env.PORT || 8000;
 
app.listen(port, () => {
  console.log('Listening on port ' + port)
})
 
// 404 Handler
app.use((req, res, next) => {
  next(createError(404));
});
 
// Base Route
app.get('/', (req, res) => {
  res.send('invaild endpoint');
});
 
app.get('*', (req, res) => {
  res.sendFile(path.join(__dirname, 'dist/autumn-repeats-app/index.html'));
});
 
// error handler
app.use(function (err, req, res, next) {
  console.error(err.message);
  if (!err.statusCode) err.statusCode = 500;
  res.status(err.statusCode).send(err.message);
});

标签: angularexpress

解决方案


推荐阅读