【问题标题】:How to add a parameter to req.body in nodejs and Mongodb如何在 nodejs 和 Mongodb 中向 req.body 添加参数
【发布时间】:2021-04-14 13:36:11
【问题描述】:
const { json } = require('body-parser');

const express = require('express');

const Signupdetails = require('../Model/Signupdetails');


const router = express.Router();


const signup = require('../Model/Signupdetails');


router.post('/' ,(req,res) => {

    const signupdetails = new Signupdetails(req.body)



    email = req.body.email

    user = email.substring(0,email.lastIndexOf("@")) 


    signupdetails.save() . then ( data => {

        res.status(200).json(data);

    })


    .catch (err => {

        res.json({ message : err });

    });

});



module.exports = router ;

我想在save()中添加一个用户。我尝试使用无效的user.save()

【问题讨论】:

  • 你的问题真的没有意义。请求正文包含您从客户端获得的数据。如果你想添加一些东西,那么它应该在客户端上添加。 (如果你想在服务器上传递数据,那么你应该使用其他机制)。
  • 请阅读问题编辑器旁边的格式帮助。有一些工具可以以比您在那里所做的更易读的方式呈现代码。
  • 获取一个像 eslint 这样的工具,它会在你创建隐式全局变量时向你发出警告(你在这里执行的操作会导致各种问题)。

标签: javascript node.js json mongodb


【解决方案1】:

您的变量 signupdetails 存在一些语法问题。 首先,在您的路线中,您必须将注册中的所有详细信息(当您构建模型时)存储在一个变量中,然后您尝试使用一个变量来表示您的操作,在这种情况下是 savedDetails 并且等于该变量(newSignup) 你存储了 details.save() 应该更像这样,我给你举个带异步函数的例子。

Asyn 函数主要用于路由。但请随意以其他方式进行。

祝你好运


router.post('/' , async (req,res) => {

    const newSignup= new Signupdetails({    //VARIABLE FOR THE DETAILS
         email = req.body.email
         user = email.substring(0,email.lastIndexOf("@"))
});

   try {
    const savedDetails = await newSignup.save();         //TRY AND CATCH
    res.send("All good");
   } catch(err) {
    res.status(400).send(err);
   }

}),

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多