如何在將編輯後的數據保存在貓鼬中之前進行驗證?如何在更新期間檢查數據庫中是否已存在數據(Mongoose和Express)
例如,如果sample.name
在數據庫中已經存在,用戶將收到了一些錯誤,這樣的事情的,這是我下面
//Post: /sample/edit
app.post(uri + '/edit', function (req, res, next) {
Sample.findById(req.param('sid'), function (err, sample) {
if (err) {
return next(new Error(err));
}
if (!sample) {
return next(new Error('Invalid reference to sample information'));
}
// basic info
sample.name = req.body.supplier.name;
sample.tin = req.body.supplier.tin;
// contact info
sample.contact.email = req.body.supplier.contact.email;
sample.contact.mobile = req.body.supplier.contact.mobile;
sample.contact.landline = req.body.supplier.contact.landline;
sample.contact.fax = req.body.supplier.contact.fax;
// address info
sample.address.street = req.body.supplier.address.street;
sample.address.city = req.body.supplier.address.city;
sample.address.state = req.body.supplier.address.state;
sample.address.country = req.body.supplier.address.country;
sample.address.zip = req.body.supplier.address.zip;
sample.save(function (err) {
if (err) {
return next(new Error(err));
}
res.redirect(uri + '/view/' + sample._id);
});
});
});
你不是叫「下一個()」,在該用戶是否存在,我想你應該爲什麼不直接使用在了'unique' PARAM調用next()有錯誤 –
名稱字段? – udidu
用戶將如何使用save()方法? –