私はバックエンド作業を含む最初の 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');
}
});
});
なぜこれが起こっているのか本当にわかりません。どんな助けでも大歓迎です!