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

时间:2017-10-04 15:57:09

标签: node.js mongodb mongoose

我正在尝试使用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 个答案:

答案 0 :(得分: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 });
      });
});