ユーザは、購読した日付からalternate
で、または購読した日付からTwo Day Gap
で、各自に配信される彼の製品を購読することを選択できるように、サブスクリプションを実装する必要があります。現在の日付が別の日付であるかどうかを確認
//Sample Data
[
{
"subscribed_on": ISODate("2017-01-01T08:15:39.736Z"),
"_id" : 1,
"customer" : "jon doe",
"type": "alternate"
},
{
"subscribed_on": ISODate("2017-01-02T08:15:39.736Z"),
"_id" : 1,
"customer" : "Doe John",
"type": "Two Day Gap"
},
{
subscribed_on: ISODate("2017-01-02T08:15:39.736Z"),
"_id" : 1,
"customer" : "Foo Name",
"type": "alternate"
}
]
今日、今日の日付の配信を持つ顧客のリストを検索するためにクエリを実行する必要があります。
集計すると、現在の日付がalternate
の日付か、two-day gap
にあるかどうかを計算できますか?
代替のクエリを簡略化するために、現在の日付がeven or odd
であるかどうかを確認し、その反対の日付を照会します。現在の日付が1st Jan
の場合は、odd
です。サブスクリプションクエリの場合、even
という日付を検索することができます。 これは、代替の日付を見つけるのにこの正しい効率的な方法ですか?
Two Day Gap
タイプのサブスクリプションを検索する現在の方法は何ですか?
* subscribed_on *の日付部分が 'new Date()。toISOString()'の日付部分と等しいかどうかを確認してください。次に、* type *が "alternate"かどうかを確認します。 UTCベースの日付を使用すると、タイムゾーンのために現地日付との間に明らかな相違が生じることに注意してください。 – RobG