无法将值传递到 MongoDB,使用 Node 和 Express,Mongoose

Posted

技术标签:

【中文标题】无法将值传递到 MongoDB,使用 Node 和 Express,Mongoose【英文标题】:Can't pass values into MongoDB, using Node and Express, Mongoose 【发布时间】:2021-12-11 12:39:36 【问题描述】:

每当我尝试传递值时,我得到的都是这个 -

 _id: new ObjectId("617794d97422073932859636"), __v: 0 

我正在使用 -

app.use(express.urlencoded());


app.use(express.json());

所以不知道为什么它没有正确脱色。获取请求似乎有效,只是放置请求无法正常工作。

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

  try 
    const result = await insertUser(req.body);
    console.log(result);

  catch (error) 
    console.log(error)
    res.json(status: "error", message: error.message)
  
  
  console.log(result)
    res.json(message: "new user created", result)
); 

''

const insertUser = (userObj) => 
    return new Promise((resolve,reject) =>
    UserSchema(userObj)
    .save()
    .then((data) => console.log(data))
    .catch((error) => console.log(error))

    )


module.exports =  insertUser,;

任何帮助将不胜感激!谢谢。

【问题讨论】:

你能解释一下你在哪里传递数据你的问题不太清楚,请解释一下 @Shahid 我正在发送一个 PUT 请求并将 JSON 传递到数据库中。但它不起作用,我不知道为什么。 当您使用 put 时,请同时更改帖子以放入您的路由 router.put("/", async (req,res) 如果您的查询有问题,然后尝试我发布的答案希望它会工作 【参考方案1】:

试试这个希望它会起作用

 module.exports.insertUser  = async (req, res, next) => 
       await YourModelShouldhere.create(
        whatever_your_key: req.body.your_input_data,
    )
    .then(result => 
        return res.status(200).json(
            message: "Created Successfully",
            statusCode: 200,
            data: result
        );
    )
    .catch(err => 
        return res.status(200).json(
            message: "Created Successfully",
            statusCode: 500,
            error: err
        );
    );

【讨论】:

以上是关于无法将值传递到 MongoDB,使用 Node 和 Express,Mongoose的主要内容,如果未能解决你的问题,请参考以下文章

将值传递给函数的参数无法正常工作

无法使用 segue 将值从 FirstVC 传递到 SecondVC

将值从后端 nodejs 传递到前端反应原生

无法通过命令将值从视图传递到viewmodel

无法将值从一个意图传递到另一个意图

无法将值从组件传递到模板