(travellingPath.endDate>now) を持つすべての行をフィルタリングし、それらを設定する (travellingPath.isActive=false) cron ジョブが必要です。移動パスには toCity プロパティがあります。次に、travellingPath の数量と別の設定コレクションに基づいて、toCity の数量を更新します。
例えば:
- 移動経路の有効期限が切れた
- cronジョブがそれをキャッチします
- 移動経路から toCity を取得する
- 別のコレクションから conversionRate を取得する
- toCity.quantity、travellingPath.quantity、conversionRate、およびrandomに基づいて、 toCity.quantityを新しい値に更新し、 toCity.owner も変更する可能性があります
- 移動経路を isActive=false に更新する
私の考えは、 endDate>now を持つ各移動パスを照会することですが、これは 100000 件の結果になる可能性があるため、あまり良くありません。適切に機能させるために、結果を 250 件に制限する場合があります。次に、travellingPath ごとに toCity を取得し、計算を行い、toCity と travellingPath を更新します。
しかし、これはあまり効率的ではないようです..
もっと良いアイデアはありますか?ありがとう (: