Невозможно сохранить более 2 свойств, используя mon goose в node js REST API - PullRequest
0 голосов
/ 17 марта 2020

Я создал REST API с использованием Express, Mon goose и MongoDB, но он сохраняет только два имени свойства и адрес электронной почты и увеличивает еще одно свойство, а не сохраняет. ниже моя модель и файл маршрутизатора.

const mongoose = require('mongoose');
const UserSchema = mongoose.Schema;

const userModel = new UserSchema({
    sirName: String,
    name: String,
    email: String
});

module.exports = mongoose.model('user',userModel);

const express = require('express');
const router = express.Router();
const user = require('../models/user');



router.get('/users', (req, res, next)=>{
    res.json({
        'message': 'Fetch All User from Database'
    });
});

//post request

router.post('/user', (req, res)=> {
    const userData = new user({
        sirName: req.body.sirName,
        name : req.body.name,
        email: req.body.email
    })
    userData.save()
    .then(item =>{
        res.send(item)
    })


})

module.exports= router;

1 Ответ

0 голосов
/ 17 марта 2020

Вот ваша схема

const mongoose = require('mongoose');
const UserSchema = mongoose.Schema;

const userModel = new UserSchema({
sirName: String,
name: String,
email: String
});

module.exports = mongoose.model('user', userModel);

Ваши маршруты

const express = require('express');
const router = express.Router();
const user = require('../model/Users');

router.get('/users', (req, res, next)=>{
res.json({
    'message': 'Fetch All User from Database'
});
});

//post request
router.post('/user', (req, res)=> {
 const userData = new user({
    sirName: req.body.sirName,
    name : req.body.name,
    email: req.body.email
})
userData.save()
.then(item =>{
    res.send(item)
})
})
module.exports= router;

А вот ваш root файл

const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');

const port = process.env.PORT || 3000;

const app = express();

const db = require('./setup/keys').my_url

const userRoutes = require('./routes/UserRoutes');

app.use(bodyParser.urlencoded({extended:false}));
app.use(bodyParser.json());

 mongoose
     .connect(db, {useNewUrlParser:true, useUnifiedTopology:true})
     .then(() => console.log('Connected'))
     .catch(err => console.log(err));

 app.use('/hi', userRoutes);

 app.listen(port, () => console.log(`Server is running at ${port}`))

После отправки JSON Данные enter image description here

Все данные сохраняются в базах данных enter image description here

Работает отлично !!

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