Я установил сервер Node, работающий локально, и установил экспресс / другие пакеты поверх него.Я могу видеть, что данные записи возвращаются, если я их регистрирую, но не могу их записать в базу данных.Он возвращает [Объект: нулевой прототип] {электронная почта: 'test@test.com', пароль: 'тестирование', подтверждение: 'тестирование'}
У меня запущены журналы консоли, которые показывают, что я подключен к БДи сервер работает, и журналы возвращают строку отправляемых данных.
//User.js
const mongoose = require('mongoose');
const userSchema = new mongoose.Schema({
email: {
type: String,
required: true,
min: 6
},
password: {
type: String,
required: true,
min: 6
}
});
module.exports = mongoose.model('User', userSchema);
//Index.js
mongoose.connect(
process.env.DB_CONNECT, {
useNewUrlParser: true,
useUnifiedTopology: true
},
() => console.log('Connected to DB!'))
app.use(express.json());
app.use(express.urlencoded({ extended: false}))
app.use('/api/user', authRoute);
app.use(express.static(path.join(__dirname, 'public')))
app.post('/api/user', (req, res) => {
console.log(req.body)
})
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => console.log('Server up and running :)'));
//Auth.js
const router = require('express').Router();
const User = require('../model/User')
router.post('/api/user', async (req, res) => {
const user = new User({
email: req.body.email,
password:req.body.password
});
try{
const savedUser = await user.save();
res.send(savedUser);
}catch(err){
res.status(400).send(err);
}
});
module.exports = router;
//HTML
<form action="/api/user" method="POST" class="signup-form">
<input type="email" name="email" id="email-login" placeholder="Your email">
<input type="password" name="password" id="password-login" placeholder="Password">
<a type="submit" href="#" class="create-account"><button class="signup">Login</button></a>
</form>