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 と名前としてワーカーに関する詳細のみを知っています。

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 に答える