接收&#34; TypeError:对象#<eventemitter>没有方法&#39; updateMyField&#39;&#34;在后保存钩子中

时间:2015-06-13 14:48:23

标签: mongoose

这是我认为我收到错误的代码的相关部分 - 它说

&#34; if(this.ended&amp;&amp;!this.hasRejectListeners())抛出原因;

TypeError:对象#没有方法&#39; updateMyField&#39;&#34;

FieldSchema
  .post('save', function () {
    var self = this;
    self.updateMyField();
  });

FieldSchema.methods = {  
  updateMyField: function() {
    var deferred = Q.defer();
    // Do things here
    return deferred.promise;
  }
};

我很困惑为什么它声称没有方法 - 会喜欢你能给予的任何帮助!

1 个答案:

答案 0 :(得分:0)

问题在于,帖子挂钩要求您使用doc来访问该对象,这也在Why is the "this" keyword different in a mongoose pre-save hook versus a post-save hook?中解释和回答。