一尘不染

猫鼬:查找,修改,保存

node.js

我有一个猫鼬User模型:

var User = mongoose.model('Users',
    mongoose.Schema({
        username: 'string',
        password: 'string',
        rights: 'string'
    })
);

我想找到一个User模型实例,修改它的属性,然后保存更改。这是我尝试过的(这是错误的!):

User.find({username: oldUsername}, function (err, user) {
    user.username = newUser.username;
    user.password = newUser.password;
    user.rights = newUser.rights;

    user.save(function (err) {
        if(err) {
            console.error('ERROR!');
        }
    });
});

查找,修改和保存User模型实例的语法是什么?


阅读 204

收藏
2020-07-07

共1个答案

一尘不染

为什么不使用Model.update?毕竟,除了更新其属性之外,您没有将找到的用户用于其他任何用途:

User.update({username: oldUsername}, {
    username: newUser.username, 
    password: newUser.password, 
    rights: newUser.rights
}, function(err, numberAffected, rawResponse) {
   //handle it
})
2020-07-07