Node.js 猫鼬吸气剂的作用就像塞特

Node.js 猫鼬吸气剂的作用就像塞特,node.js,mongodb,mongoose,nosql,Node.js,Mongodb,Mongoose,Nosql,我有一个getter,看起来像这样: UserSchema .path('avatar') .get(function(avatar){ if(!avatar){ avatar = "defaultAvatar.jpg"; } return avatar; }); 它工作得非常好。不幸的是,我有一个大问题。当我创建一个新用户时。使用此方法: var newUser= new UsersModel(); user.name = "John Smith";

我有一个getter,看起来像这样:

UserSchema
.path('avatar')
.get(function(avatar){
    if(!avatar){
        avatar = "defaultAvatar.jpg";
    }
    return avatar;
});
它工作得非常好。不幸的是,我有一个大问题。当我创建一个新用户时。使用此方法:

var newUser= new UsersModel();
user.name = "John Smith";
user.email = "example@gmail.com";
user.save();

正在触发getter并插入默认的“defaultAvatar.jpg”,就好像它是setter一样。非常烦人,确实需要这方面的帮助…

在模式定义中,您应该使用如下路径修饰符:

var UserSchema = new Schema({
    avatar : { type: String, default: "defaultAvatar.jpg" }
});