更新用户信息mongoose, MongoDB, NodeJS

3
我正在处理一个编辑个人资料页面,想要更改/更新我的mongooseDB中文档的信息,但是我的代码没有更新文档。有什么建议吗?
router.get('/edit', isAuthenticated, function (req, res, next) {
    res.render('profile/editprofile', {
        user: req.user
    });
});
router.post('/edit', isAuthenticated, function (req, res, next) {

    User.update({_id: req.session.passport.user.id}, {
        email: req.body.email,
        password: req.body.password,
        name: req.body.name,
        phone: req.body.phone,
        classc: req.body.classc,
        //graduated: req.body.graduated;
        major: req.body.major,
        minor: req.body.mino,
        linkedin: req.body.linkedin,
        bio: req.body.bio
    }, function (err){
        if (err) console.log(err);
        res.render('profile/profile', {
        user: req.user
    });
});
});
1个回答

3
您忘记添加$set运算符。
router.post('/edit', isAuthenticated, function (req, res, next) {

    console.log(req.user._id) //console like this

    User.update({_id: req.user._id}, {$set: req.body}, function (err){
        if (err) console.log(err);
        res.render('profile/profile', {
        user: req.user
    });
});
});

如果我们已经有一个用户模型实例需要更新,那么是否有直接更新用户并在更新后获取更新文档的方法? - Sachin Kumar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接