mongodb でスケジュール スキーマを設計する必要があります。元のデータ形式は {"schedule_begin":Date,"schedule_end":Date,"schedule_days_runs":"1111100"}のようなものです。
スキーマには、データ"schedule_days_runs":"1111100"を持つプロパティschedule_days_runsがあることに注意してください。1 週間は 7 日で、「1」は稼働していることを表し、「0」は稼働していないことを表します。
基本的に、アプリケーションが行うことは、特定の日付 (月曜日など) に稼働しているすべてのスケジュールを見つけることです。つまり、 schedule 、schedule_start =< one_day <= schedule_endをクエリし、クエリされたスケジュールが月曜日にも稼働していることを確認する必要があります。
簡単な解決策は、"1111100" を文字列で mongodb に直接格納し、クエリに schedule_start と schedule_end のみを使用し、アプリケーション ロジックを使用して結果を取得することです。ただし、通常は何千ものクエリを取得し、クエリの半分は答えではないため、このソリューションは便利ではありません。たとえば、特定の日の '1111100' (スケジュールは月曜日から金曜日まで稼働) の稼働スケジュールを取得するには、クエリの結果として、'0000011' (スケジュールは週末に稼働) のような多くの役に立たない情報が返されます。
私はより良い解決策を見つけようとしていますが、誰かがより良いアイデアを持っていますか?