猫鼬 Getter 的行为类似于 Setter

发布于 2024-12-08 15:46:26 字数 571 浏览 1 评论 0原文

我有一个看起来像这样的吸气剂:

UserSchema
.path('avatar')
.get(function(avatar){
    if(!avatar){
        avatar = "defaultAvatar.jpg";
    }
    return avatar;
});

它工作得非常好。不幸的是我有一个大问题。当我创建新用户时。使用此方法:

var newUser= new UsersModel();
user.name = "John Smith";
user.email = "[email protected]";
user.save();

触发 getter 并插入默认的“defaultAvatar.jpg”,就像它是 setter 一样。非常烦人,真的需要帮助......

I have a getter that looks like this :

UserSchema
.path('avatar')
.get(function(avatar){
    if(!avatar){
        avatar = "defaultAvatar.jpg";
    }
    return avatar;
});

It was working really well. Unfortunately I have a big problem with it. When I am creating a new user. Using this method:

var newUser= new UsersModel();
user.name = "John Smith";
user.email = "[email protected]";
user.save();

The getter is being triggered and inserting the default "defaultAvatar.jpg" as if it were a setter. Very annoying, really need help on this...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

画离情绘悲伤 2024-12-15 15:46:27

在您的架构定义中,您应该使用如下路径修饰符:

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

In your schema definition you should use a path modifier like this:

var UserSchema = new Schema({
    avatar : { type: String, default: "defaultAvatar.jpg" }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文