Добрый день всем, я создаю веб-приложение для хранения информации о сотрудниках в локальной базе данных.Я написал необходимый код, чтобы клиент мог ввести требуемую информацию, такую как имя, адрес электронной почты, номер телефона и т. Д., Через форму и сохранить ее в MongoDB.Теперь я хотел бы добавить функцию загрузки файлов, чтобы документы можно было загружать вместе с информацией о сотрудниках, такой как страховые полисы, копии паспортов и т. Д. Я изо всех сил пытаюсь найти способ реализовать это в виде множества методов, показывающих онлайн-реализации CRUD и файлов.загружает отдельно.Есть ли кто-нибудь опытный, кто сможет предложить подход к реализации?Я новичок в Node dev и не знаком с огромным выбором доступных фреймворков.Пока у меня есть следующие настройки:
Используемые фреймворки: Express, Mongoose, Express-Handlebars (просмотр движка), Bootstrap
employee.Model:
const mongoose = require('mongoose');
const mongoURI = 'mongodb://localhost:27017/testDB'
const conn = mongoose.createConnection(mongoURI, {useNewUrlParser: true});
Schema = mongoose.Schema;
var employeeSchema = new Schema({
fullName: {
type: String,
required: true
},
email: {
type: String
},
mobile: {
type: String
},
city: {
type: String
}
});
const Employee = conn.model('Employee', employeeSchema);
module.exports = Employee;
Контролер сотрудника:
const mongoose = require ('mongoose');
const express = require ('express');
var router = express.Router();
const Employee = require('../models/employee.model');
router.post('/', (req, res) => {
insertRecord(req, res);
});
function insertRecord (req, res) {
var employee = new Employee();
employee.fullName = req.body.fullName;
employee.email = req.body.email;
employee.mobile = req.body.mobile;
employee.city = req.body.city;
employee.save((err, doc) =>{
if (!err)
res.redirect('employee/list');
else {
console.log('Error during record insertion: ' + err);
}
});
}
Вид руля:
<h3>{{viewTitle}}</h3>
<form action="/employee" method="POST" autocomplete="off">
<div class="form-group">
<label>Full Name</label>
<input type="text" class="form-control" name="fullName"
placeholder="Full Name">
</div>
<div class="form-group">
<label>Email</label>
<input type="text" class="form-control" name="email"
placeholder="Email">
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label>Mobile</label>
<input type="text" class="form-control" name="mobile"
placeholder="Mobile">
</div>
<div class="form-group col-md-6">
<label>City</label>
<input type="text" class="form-control" name="city"
placeholder="City">
</div>
</div>
<div class="form-group">
<button type="submit" class="btn btn-info"><i class="fa fa-
database"></i> Submit</button>
</div>
</form>