我正在使用mongoosejs在我的数据库中插入数据。我试图添加save()回调单独的例子: 新的ModelName.save(saveData)而不是以常规方式添加它。 new ModelName.save(function(err,model){...}
var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
var userDetail = mongoose.model('user_details');
//not working
router.post('/', resgisterUser);
function resgisterUser(req, res) {
new userDetail({
fullName: req.body.fullName,
email: req.body.email,
contactNumber: req.body.contactNumber,
password: req.body.password
})
.save(saveUserDetails);
}
function saveUserDetails(err, newUser) {
console.log(newUser)
res.writeHead(200);
res.end();
}
//working code
function resgisterUser(req, res) {
new userDetail({
fullName: req.body.fullName,
email: req.body.email,
contactNumber: req.body.contactNumber,
password: req.body.password
})
.save(function (err, newUser) {
console.log(newUser)
res.writeHead(200);
res.end();
});
}
`
答案 0 :(得分:0)
尝试将saveUserDetails
功能移到registerUser
功能之上。在JavaScript(实际上是任何语言)中,在定义函数之前使用函数被认为是不好的做法。在那个节点上,我还将你的registerUser
函数放在路由声明之上。