コレクションが更新された後に特定の挿入ステートメントを実行しようとしています。たとえば、ユーザーが埋め込みドキュメントの場所をユーザードキュメントに追加した場合、その埋め込みドキュメントを別の場所コレクションに挿入したいと考えています。サーバー側でこれを行う方法はありますか?そのため、操作は実行されることが保証されていますか?Meteorで保存する前にオブジェクトサーバー側を変更する方法
答えて
あなたは..あなたは、クライアント側のメソッドのスタブを実装することにより、待ち時間補償を保つことができる方法でそれを行う必要があるでしょう:クライアント上のメソッドを呼び出す
はの サーバーの方法に関連するスタブ関数を定義します同じ名前。あなたがしたくない場合は、 メソッドのスタブを定義する必要はありません。この場合、メソッドコールは他のシステムのリモートプロシージャコールと同様に となり、サーバからの結果は を待つ必要があります。
スタブを定義する場合、クライアントがサーバーメソッドを呼び出すと、 もスタブをパラレルで実行します。クライアントでは、 スタブの戻り値は無視されます。スタブは副作用のために実行されます。 は、サーバのメソッドが実行する結果をシミュレートすることを目的としていますが、往復遅延を待たずに です。スタブが 例外をスローすると、コンソールにログが記録されます。
ここに私の流星スタブの例を参照してください。https://stackoverflow.com/a/13145432/1029644
上記のスタブを実装する方法の例がありますか?私は[この1](http://stackoverflow.com/questions/12231712/when-to-use-meteor-methods-and-utilizing-stubs)のようなStackOverflowのいくつかの例を見ていますが、私はまだ少し混乱していますこれをどのように実装するかについて。 – HGandhi
あなたは、私が書いたいくつかのコード(https://gist.github.com/matb33/5258260)を使用して喜んでいる場合は、あなたがそうのようでフックすることができます:
編集:コードは今一部であり、プロジェクトのhttps://github.com/matb33/meteor-collection-hooks
var test = new Meteor.Collection("test");
if (Meteor.isServer) {
test.before("insert", function (userId, doc) {
doc.created = doc.created || Date.now();
});
test.before("update", function (userId, selector, modifier, options) {
if (!modifier.$set) modifier.$set = {};
modifier.$set.modified = Date.now();
});
test.after("update", function (userId, selector, modifier, options, previous) {
doSomething();
});
}
- 1. NodeJSでオブジェクトサーバー側を保護/格納する方法は?
- 2. CakePHP DBに保存する前にデータを変更する
- 3. クライアント側の画像のサイズを変更して保存する
- 4. 状態を保存してビューを前後に変更する
- 5. クライアントログイン - クレデンシャルをクライアント側に安全に保存する方法
- 6. 変更しない変数を保存する方法
- 7. Backbone.jsアプリでローカルデータの変更を保存する方法は?
- 8. JavaScriptのアプレットをページの変更に保存する方法は?
- 9. 閉じる閉じる前に変更を保存閉じる
- 10. .pdfファイルをサーバー側からクライアント側に保存する方法は?
- 11. サーバ側変数(vbscript)にjavascript変数を保存する
- 12. オブジェクトをjpaに保存する前にIDを知る方法
- 13. VB.Net SQLデータベース - データベースへの変更を保存する方法?
- 14. FastReportのユーザー変更を保存する方法
- 15. 変更リスナーからjspinnerの値を保存する方法
- 16. データの変更履歴を保存する方法は?
- 17. MeteorでCollectionFSを使ってPDFファイルを保存するには?
- 18. Playフレームワークに保存する前にBlobイメージのサイズを変更する
- 19. データを保存する最良の方法クライアント側
- 20. Django/Python:ファイルを保存する前にアップロードしたファイル名を変更する
- 21. 保存前にvimに自動インデントを指示する方法
- 22. オリエンテーションの変更中にonSaveInstanceStateとonRestoreInstanceStateで状態を保存する方法
- 23. 特定の名前のフォトアルバムにビデオを保存する方法
- 24. Raphael.js各要素に名前を保存する方法は?
- 25. DataGridView行変更時に変更を保存する
- 26. 保存されているファイルの名前を変更するには
- 27. 方向変更にバックスティックを保存する
- 28. フォルダに保存せずに画像のサイズを変更する方法
- 29. 既にデータベースに存在するエンティティを親エンティティのIcollectionに挿入して変更を保存する方法
- 30. htmlの変更を保存する
で私はあなたが更新と挿入の両方を行うための方法のサーバ側を呼び出すことができることを承知していますが、それから、待ち時間補償を除去する負の結果を持っているでしょう私が理解していること。 – HGandhi