データベースからのリアルタイム更新に依存する Meteor でアプリケーションを構築しています。Meteor が例をレイアウトした方法は、テンプレート呼び出しの下にデータベース呼び出しを配置することです。中規模のデータセットを扱う場合、これは非現実的であることがわかりました。リクエストをサーバーに移動し、結果をクライアントに戻そうとしています。
SAで同様の 質問を見てきましたが、すぐに答えが見つかりませんでした。
ここに私のサーバー側の機能があります:
Meteor.methods({
"getTest" : function() {
var res = Data.find({}, { sort : { time : -1 }, limit : 10 });
var r = res.fetch();
return (r);
}
});
そしてクライアント側:
Template.matches._matches = function() {
var res= {};
Meteor.call("getTest", function (error, result) {
res = result;
});
return res;
}
上記のコードのバリエーションを試しました - 一例としてコールバック関数を返します。私が知る限り、コールバックを持つと関数が非同期になるため、onload (同期) を呼び出すことができず、クライアントから呼び出す必要があります。
フロントエンドの負荷を軽減するために、すべてのデータベース クエリをサーバー側に渡したいと考えています。Meteorでこれは可能ですか?
ありがとう