Справа ниже находится файл сервера, который использует mongodb в качестве базы данных для хранения данных, которые поступают с веб-сайта, созданного в основном с помощью reactJS, поэтому проблема заключается в том, что данные, поступающие из формы входа и формы регистрации (с веб-сайта) страниц) не сохраняется в базе данных с именем faceRecognition.
***** В основном, чтобы понять проблему, обратитесь к регистру маршрута в коде *****
В файле моего сервера я включили два console.log, чтобы увидеть, какие данные получены в req.body и как они хранятся в коллекции (называемой моделью «пользователи»), используя функцию обратного вызова для возврата данных и, как вы можете видеть на изображении, что полученные данные явно в надлежащем формате, который необходим в соответствии с определенной схемой (схема здесь "userSchema"), но эти данные не сохраняются в базе данных, за исключением этого присоединенного параметра, я не знаю почему? Так что плз помогите мне найти ошибку, как правильно хранить данные или что я делаю не так?
const express = require('express'),
app = express(),
bodyParser = require('body-parser'),
cors = require('cors'),
mongoose = require('mongoose');
mongoose.connect("mongodb://localhost:27017/faceRecognition",{useNewUrlParser:true,useUnifiedTopology:true});
app.use(bodyParser.json());
app.use(cors())
const userSchema = new mongoose.Schema({
user:{
name:String,
email:String,
password:String,
entries:Number,
joined:{
type:Date,
default:new Date()
}
}
});
const User = mongoose.model('user',userSchema);
// main page
app.get('/',(req,res)=>{
User.find({},(err,user)=>{
if(err){
console.log('ERROR!!');
}else{
res.send(user);
}
});
});
// sign in page route
app.post('/signin',(req,res)=>{
console.log({email:req.body.email,password:req.body.password});
User.find({email:req.body.email,password:req.body.password},(err,user)=>{
if(err){
console.log('in err if');
res.status(400).json('failure');
}else{
console.log(user);
res.json(user);
}
});
});
// REGISTER route
app.post('/register',(req,res)=>{
// The below console.log is just to see whether i'm recieving data or not
console.log(req.body,req.body.name);
User.create({
name:req.body.name,
email:req.body.email,
password:req.body.password,
entries:0,
joined: new Date()
},(err,user)=>{
if(err){
console.log('ERROR!!');
}else{
// The below console.log is to see what is saved inside collection in database
console.log(user);
res.json(user);
}
})
});
// SERVER LISTEN
app.listen(3000,()=>{
console.log("SERVER HAS STARTED!!");
});