複数のユーザーがいる管理パネルに Firebase を使用しています。新しい質問が追加されるたびに、パネル内の全員がすぐに警告を受けます。
うまく機能していますが、私が実装した方法は正しくありません。これが私がやっていることです:
dataRef.auth(token, function(error, result) {
if (error) {
console.log("Login Failed!", error);
} else {
var started = new Date();
dataRef.on('child_added', function(snapshot) {
var message = snapshot.val();
var t = message.date.split(/[- :]/);
var lastChildDate = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
if(lastChildDate > started) {
// alert the user
}
});
}
});
そして、これがデータ構造です。フィールドは 1 つだけです。
{date: "2013-06-14 16:45:10"}
これにより、そのベースのすべてのレコードが表示されます。すべてのchild_added
レコードに対してイベントが発生します。次に、ページが読み込まれた後に作成されたかどうかを確認し、それに応じてユーザーに警告します。ただし、クライアントは、これから追加される子についてのみアラートを受け取る必要があります。どうすればその不要な負荷を取り除くことができますか? ドキュメントを確認しましたが、答えが見つかりませんでした。