2016-10-15 15 views
0

データベース(現在MongoDB)は、すべてのデータベースの値を定期的に更新するための適切かつ効率的な方法がありますか?定期的にデータベースを更新する

1秒ごとに値を1ずつ減らし、その値がアプリで0になったときに通知を受け取るようにしたいとしましょう。私は(可能であれば)すべての要素を反復する私のアプリから手動でそれらを更新することを避けたいと思います。

私は何かがサーバー(たとえば、トリガー)で起こる場合

おかげ

+0

これは間違ったアプローチです。タイムスタンプを入れ、データベースに*クエリ*すると計算が行われます。 –

+0

値が0になったときに通知する必要があります。タイムスタンプを使用してクエリを実行する必要があります。どうしても避けたい – angrykoala

+0

まず、 )。第二に、あなたの質問は、DBが積極的な行動を取ることを意味します...実際には、事前定義されたすべての期間を刻むプロセスが、テーブルの値と単一のカウンタとの差異を選択するというアプローチが必要です。差がゼロ以下になったら、通知をトリガーします(ただし、通知が必要なケースのみを選択するように選択できます)。これは一般的な考えです。実装:DBに依存。 – FDavidov

答えて

0

MongoDBの通知を持っていない離れモンゴから他のデータベースのための答えに興味があります。さらに、このタイプのロジックを作成することはできません(0秒までの時間を短縮します)。なぜなら、データベースに「秒を残す」という利点がないからです。

アイテムは、「生存時間」を持つ「イーベイ」のようなものを作っている場合には、事前にfindOneAndUpdateまたはupdateManyとMongoDBのでそれを解決することができ、その後無効になりました。

関連する問題