首页 文章

mongoose不会在回调中返回保存的文档

提问于
浏览
0

我正在尝试使用mongoose保存新记录 . 我没有在回调中获取保存的文档 .

app.post("/register",(req,res) => {
    let userData = req.body;
    let user = new User(userData)
    user.save().then((err,doc) => {
        res.json({"success":true,"data":doc});
        console.log(doc);
    })    
});

我得到了医生:1 . 虽然我应该得到整个文件 . 请帮我 .

"dependencies": {
    "body-parser": "^1.18.2",
    "crypto-js": "^3.1.9-1",
    "express": "^4.15.5",
    "mongoose": "^4.11.13"
  }

1 回答

  • 2

    你正在使用promises, then callback只提供一个参数 - 异步调用的结果 . 要捕获错误,应使用 catch 回调:

    app.post("/register", (req, res) => {
        let userData = req.body;
        let user = new User(userData);
        user
          .save()
          .then(doc => {
            console.log(doc);
            res.json({ success: true, data: doc });
          })
          .catch(err => {
            console.log(err);
            res.status(500).send({ error: err });
          });
    });
    

相关问题