0

Meteor 1.4で記述されたアプリケーションをポート3000(Aと呼ばれます)で実行して、別のアプリケーション(Bと呼ばれます)でアプリケーションデータベースを使用します。 Bコンソールで、私はこのようMONGO_URLを設定します。2番目のアプリケーションでコレクションフックが呼び出されていない

export MONGO_URL=mongodb://localhost:3001/meteor 

そして、私は、アプリAともアプリのBだけのアプリA.

に呼び出されるフック上のいくつかのコレクションフックにいくつか collection hookを持っているポート5000 上でそれを実行します例えば

Aに我々が持っている:

collections.notes.after.update(function(userId, doc, fieldNames, modifier, options) { 
    console.log("notes updated in A hook"); 
    console.log(doc); 
} 

そしてBに私たちが持っている:

collections.notes.after.update(function(userId, doc, fieldNames, modifier, options) { 
    console.log("notes updated in B hook"); 
    console.log(doc); 
} 

しかしログはnotes updated in A hookです。

修正方法?

答えて

1

コレクションフックは、変更が加えられたアプリケーションでのみ実行されます。

collections.notes.find().observe({ 
    changed(newDocument, oldDocument){ 
    console.log('Notes changed! Old doc: '+oldDocument+' to '+newDocument); 
    } 
}); 
0

あなたのフックは同じです。コレクションフックは、イベントごとに1つのフックしかサポートしていないことは明らかです。

なぜ2つの同一のコールバックが必要ですか?

+0

I:あなたは、そのコレクションをobserveしたい、その後変更する基礎となるMongoDBのデータに基づいて、アプリBで何かをしたい場合は、アプリBフックは、アプリA.

からの変更では動作しませんアプリケーションBで 'after hook'をオーバーライドする必要があります。 – b24

関連する問題