无法在Node JS REST API中使用猫鼬保存超过2个属性

湿婆

我已经使用Express,Mongoose和MongoDB创建了REST API,但是它仅保存两个属性名称和电子邮件,并增加了一个属性,然后又不保存。下面是我的模型和路由器文件。

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;
克达色达

这是你的模式

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;

这是您的根文件

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数据后 在此处输入图片说明

所有数据都保存在数据库中 在此处输入图片说明

效果很好!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章