angular - 操作 `.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);
});
解决方案
推荐阅读
- deep-learning - 卷积神经网络中的聚合和连接有什么区别?
- c++ - 当前标准中模板实例化的第二阶段名称查找的相关规则在哪里
- html - 如何将页面上的文本/视频/图像与 HTML 对齐
- javascript - 在没有 webpack 的情况下使用 vuejs 3 执行引导 vue 组件
- android - 最小Android应用程序中正常方法调用的奇怪静态方法错误
- python-3.x - 如果用户输入无效输入,如何继续询问用户正确的输入类型
- c++ - 我正在解决下一个回文的问题,但是当我提交时它给了我 sigsegv 错误
- php - PHP regexp 解析避免子字符串
- html - 错误类型错误:无法读取 Angular 模板中未定义的属性“描述”
- javascript - Promise resolve 在 TypeScript 中有错误,因为错过了任何类型