2

创建连接时,将运行此函数:

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,我认为有更好的方法来做到这一点;)非常感谢

为什么我需要它?

想象一下创建了一个工作。我想更新工作人员并将其设置为当前工作和新状态(忙碌)。

我喜欢解耦模型,这样 Job 模型就不必知道 Worker 模型。只知道有关工人的一些详细信息,例如 id 和 name。

4

1 回答 1

1

这就是猫鼬生命周期的做法

JobSchema.post('save', function(next){
  var model = this.model(this.constructor.modelName);
  model.emit('created', this);
})
于 2015-04-23T08:54:43.647 回答