Средство получения мангуста, действующее как сеттер

#node.js #mongodb #mongoose #nosql

#node.js #mongodb #мангуст #nosql

Вопрос:

У меня есть добытчик, который выглядит следующим образом :

 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();
  

Запускается средство получения и вставляется значение по умолчанию «defaultAvatar.jpg «как если бы это был сеттер. Очень раздражает, действительно нужна помощь в этом…

Ответ №1:

В определении вашей схемы вы должны использовать модификатор пути, подобный этому:

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