1

平日ドキュメントに保存するためのベストプラクティスを探しています。

リレーショナル データベースでは、1-n nn の関係は 2 つ以上のテーブルを意味します。しかし、非リレーショナル データベースでは、これらを 1 つのモデルに直接格納できるため、火曜日に可能なすべてのスケジュールをクエリしたいと考えています。

// schedule document:
{
    "_id" : ObjectId("..."),
    "name" : "Have a drink with Joe Schmoe at 9pm"
    "weekdays" : ['MON', 'TUE', 'SAT', 'SUN'] // or
    "weekdays" : ['1', '2', '6', '7'] // ?
    "created" : ISODate("2013-12-03T12:45:53.000Z")
}
4

1 に答える 1

3

私はそれらを数字として保存します(あなたが提案した数字の文字列ではありません)。そうすれば、曜日ごとに異なるスケジュールを簡単に並べ替えることができます。

また、一部の国では暦週が日曜日から始まるため、一部の日付関数では日曜日を数字 0 (またはプログラミング言語によっては 1) にする必要があることに注意してください。しかし、とにかく、日付関数を使用する前に番号スキームを変更することも非常に簡単です。

于 2013-12-03T14:13:39.507 に答える