有没有更好的方式来收听Mongoose模型上的事件?

时间:2012-08-01 11:12:23

标签: events mongoose listeners

创建连接时,运行此功能:

function setupModelListenersForConnection(c){
    var Job = c.model('Job');
    Job.addListener('created', function(jobInstance){
    });
    console.log('Models have been wired!');
}

在作业的架构中,我有这个:

JobSchema.post('save', function(next){
  this.db.models.Job.emit('created', this);
})

我真正不喜欢的是this.db.models.Job,我认为有更好的方法;)非常感谢

为什么我需要它?

想象一下创造了一份工作。我想更新worker并设置它的当前作业和新状态(忙)。

我喜欢将模型分离,这样Job模型就不必知道Worker模型了。只知道有关工人的一些细节作为身份和姓名。

由于

1 个答案:

答案 0 :(得分:0)

mongoose-lifecycle这就是

的方式
JobSchema.post('save', function(next){
  var model = this.model(this.constructor.modelName);
  model.emit('created', this);
})