我正在开发我的第一个涉及后端工作的 Web 开发项目,我正在尝试 mongoDB。我目前正在开发一个简单的管理面板,其中列出了每个用户,通过单击该用户,管理员可以进入并手动编辑他们的信息、更新并返回主用户列表以查看更改。
我正在尝试使用该方法更新现有用户,但我遇到了一个问题,它不仅会更新,还会创建具有匹配编号collection.save()
的文档的副本。_id
这是一张图片,说明了我的意思,这是我的所有更新代码:
router.post('/updateUser', function(req, res) {
var db = req.db;
var collection = req.collection;
var userId = req.body.userId;
var djStatus = req.body.djStatus;
var access = req.body.access;
var firstName = req.body.firstName;
var lastName = req.body.lastName;
var email = req.body.email;
var phone = req.body.phone;
var studentStatus = req.body.studentStatus;
var macIdNum = req.body.macIdNum;
var iclass = req.body.iclass;
var gradYear = req.body.gradYear;
var show = req.body.show;
var blurb = req.body.blurb;
collection.save(
{
_id: userId,
djStatus: djStatus,
access: access,
firstName: firstName,
lastName: lastName,
email: email,
phone: phone,
studentStatus: studentStatus,
macIdNum: macIdNum,
iclass: iclass,
gradYear: gradYear,
show: show,
blurb: blurb
}, function (err, doc) {
if (err) {
res.send('there was a problem updating');
} else {
console.log(doc + ' doc');
res.location('admin/users');
res.redirect('admin/users');
}
});
});
我真的不确定为什么会这样。任何帮助将非常感激!