猿问

Node.js:POST 不向数据库发送数据

我正在尝试使用Postman POST 数据。我正在使用x-www-form-urlencoded在Local 中发布数据。


没有显示错误。


把数据放到postman上后,在Database上只得到如下数据:


{

    "createdAt": "2019-10-13T12:25:52.313Z",

    "updatedAt": "2019-10-13T12:25:52.313Z",

    "_id": "5da317e0e5a3df0a90308f68",

    "__v": 0

}

不要找原因没有收到数据库中的数据。任何帮助,将不胜感激。


路线:


const express = require('express');

const router = express.Router();

const Contact = require('../controllers/CrmController');


router.post('/create', Contact.addNewContact );

控制器:


const mongoose = require('mongoose');

const { ContactSchema } = require('../models/CrmModel');


const Contact = mongoose.model('Contact', ContactSchema, 'contact');


exports.addNewContact = async(req, res, next) => {

    try {

        let newContact = new Contact(req.body);

        let contact    = await newContact.save();


        res.send(contact);


    } catch (err) {

        res.status(500).json({ message: err.message });

    }


    next();

};

模型:


// Include MongoDB

const mongoose = require('mongoose');

// To Remove Deprication Warning from Console

mongoose.set('useNewUrlParser', true);

mongoose.set('useFindAndModify', false);

mongoose.set('useCreateIndex', true);

mongoose.set('useUnifiedTopology', true);


//Define a Schema

const Schema = mongoose.Schema;


// Create Schema for The Current Model 

exports.ContactSchema = new Schema({

    firstName: {

        type : String

    },

    lastName: {

        type : String,

    },

    email: {

        type : String,

    },

    company: {

        type : String,

    },

    phone: {

        type : Number,

    },

    createdAt: {

        type    : Date,

        required: true,

        default : Date.now()

    },

    updatedAt: {

        type    : Date,

        required: true,

        default : Date.now()

    },

});


长风秋雁
浏览 126回答 1
1回答

慕虎7371278

添加路由后,您将添加 bodyParser 中间件。这意味着只有稍后添加的路由才会拥有它。您需要在中间件之后移动路由。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答