问题
I am trying to save a new record using mongoose. I am not getting the saved document in the callback.
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);
})
});
I am getting doc:1. While I should get the whole document. Please help me.
"dependencies": {
"body-parser": "^1.18.2",
"crypto-js": "^3.1.9-1",
"express": "^4.15.5",
"mongoose": "^4.11.13"
}
回答1:
You're using promises, then
callback provides only one parameter - result of asynchronous call. To catch error, catch
callback should be used:
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 });
});
});
来源:https://stackoverflow.com/questions/46569248/mongoose-do-not-return-saved-document-in-callback