Я пытаюсь вставить имя комнаты и статус комнаты, которые отправлены из моей формы, в мою коллекцию комнат в базе данных mongoose. Когда я нажимаю «Отправить», новая комната вставляется с dateCreated и dateEdited, но имя и статус комнаты не вставляются в базу данных.
Модель номера:
var mongoose = require('mongoose');
var room = new mongoose.Schema({
room: String,
created: {type:Date, default:Date},
edited: {type:Date, default:Date},
status: String
})
module.exports = mongoose.model("Room", room);
Room.js (код формы):
<Modal visible={this.state.visible} width="400" height="300" effect="fadeInUp" onClickAway={()=>this.closeModal}>
<div>
<form method="POST" action="/api/room">
<label>Room name: </label>
<input type='text' placeholder="Room name" name="roomName" required/> <br></br>
<label>Status:    </label>
<select id="sel1" name="status" required>
<option>Active</option>
<option>Inactive</option>
</select>
<input type="submit" value="submit"/>
</form>
<button onClick={this.closeModal}>Close</button>
</div>
</Modal>
Маршрут Room.js:
var express = require('express');
var router = express.Router();
var Rooms = require('../models/Rooms');
var bodyParser = require('body-parser');
router.use(bodyParser.json())
router.use(bodyParser.urlencoded({extended: true}));
/* GET ALL ROOMS */
router.get('/api/room', function(req, res, next) {
Rooms.find((err, results)=>{
if(err) throw err;
res.header("Content-Type",'application/json');
res.send(JSON.stringify(results, null, 4));
});
});
/* SAVE ROOMS */
router.post("/api/room", (req,res)=>{
var data = new Rooms(req.body);
console.log(data);
data.save()
.then(item=>{
res.send('room added to db');
})
.catch(err=>{
res.status(400).send("unable to save to db")
});
});
module.exports = router;