如何将数据发布到mongodb数据库

时间:2020-05-10 09:21:23

标签: node.js mongodb express mongoose

我正在学习构建一个简单的MERN应用程序以获取用户数据并将其上传到mongoDB集合,而且似乎无法弄清楚为什么在尝试发布用户时收到400 BAD REQUEST错误数据。当前正在本地服务器上运行。我目前找不到可以直接解决我的特定问题的帖子。我曾经用邮递员发送我的发帖请求。

这是我的用于数据模式的User.js,我将其放置在名为routes的文件夹中:

const mongoose = require('mongoose');

const userSchema = new mongoose.Schema({
    name:{
        type:String,
        required:true,
        min:6
    },
    email:{
        type:String,
        required:true,
        max:255,
        min:6
    },
    password:{
        type:String,
        required:true,
        max:1024,
        min:6
    },
    date:{
        type:Date,
        default:Date.time
    }
});

module.exports = mongoose.model("User", userSchema);

我有用于路由的auth.js文件,已将其放置在路由文件夹中,我有一个.env文件来存储一些凭据以连接到数据库。

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


router.post('/register', async(req,res)=>{
    const user = new User({
        name:req.body.name,
        email:req.body.email,
        password: req.body.password
    });
    try{
     const savedUser = await user.save();
     res.send(savedUser);
    }
    catch(err){
        res.status(400).send(err);
        console.log(err);
    }
});

module.exports= router;

这是我的index.js文件,我认为它可以正常运行,因为我看到服务器已启动并在端口3000上运行并已连接到数据库。

const express = require('express');
const app = express();
const dotenv = require('dotenv'); 
const mongoose = require('mongoose');

//import routes
const authRoute =  require('./routes/auth');



dotenv.config();

//connect to DB
mongoose.connect('process.env.DB_CONNECT',{ useNewUrlParser: true },()=>{
    console.log('connected to the database');
});

//Middlewares
app.use(express.json());

//route middlewares
app.use('/api/user', authRoute);

app.listen(3000, ()=>{
    console.log('server is up and running on port 3000');
});

我已经使用邮递员发送了发帖请求,但是我遇到了400个错误的请求

0 个答案:

没有答案