Некоторые данные c не сохраняются в базе данных из файла сервера - PullRequest
0 голосов
/ 09 апреля 2020

Справа ниже находится файл сервера, который использует mongodb в качестве базы данных для хранения данных, которые поступают с веб-сайта, созданного в основном с помощью reactJS, поэтому проблема заключается в том, что данные, поступающие из формы входа и формы регистрации (с веб-сайта) страниц) не сохраняется в базе данных с именем faceRecognition.

***** В основном, чтобы понять проблему, обратитесь к регистру маршрута в коде *****

В файле моего сервера я включили два console.log, чтобы увидеть, какие данные получены в req.body и как они хранятся в коллекции (называемой моделью «пользователи»), используя функцию обратного вызова для возврата данных и, как вы можете видеть на изображении, что полученные данные явно в надлежащем формате, который необходим в соответствии с определенной схемой (схема здесь "userSchema"), но эти данные не сохраняются в базе данных, за исключением этого присоединенного параметра, я не знаю почему? Так что плз помогите мне найти ошибку, как правильно хранить данные или что я делаю не так?

server running from command propmt

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!!");
});

1 Ответ

1 голос
/ 09 апреля 2020

Вы намеревались эту схему? Требуется объект со свойством user. Таким образом, вы можете написать для /register route

User.create({ user: { ...req.body, entries: 0 } })

или удалить свойство пользователя из вашей схемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...