2017-08-10 4 views
1

私のデータベースには多くのオフィスがあり、各営業所には独自の稼働時間(例:7:00〜17:00)があります。MongoDBに稼働時間を格納します

{ 
"_id" : ObjectId("59747cfabb8dd11e30310a92"), 
"name" : "CE", 
"value" : "Compact Enterprise", 
"operation_time_start": "7:00", -> string value 
"operation_time_end": "17:00" -> string value 
} 

または別の方法を試してください。

は、私はこのような動作時間を保存するべきか?

+0

別のアプローチを試してみてください。あなたが必要とする細かさに応じて、文字列の最小6バイトではなく、使用可能な記憶域タイプが最大で4バイトを取る数値として格納することが最善です。 1日の数分で簡単にフィットします。そのためには秒やミリ秒もかかります。 –

答えて

2

0〜1440の範囲の整数を使用することをお勧めします。各数値は1分単位で指定します。この方法では、$ GTEを使用することができますし、$クエリで 例をLTE:追加の提案として

{ 
"_id" : ObjectId("59747cfabb8dd11e30310a92"), 
"name" : "CE", 
"value" : "Compact Enterprise", 
"operation_time_start": 420 
"operation_time_end": 1020 
} 

、営業時間はので、多分、より良いスキーマができ、曜日に応じて異なることができることを考えます

{ 
"_id" : ObjectId("59747cfabb8dd11e30310a92"), 
"name" : "CE", 
"value" : "Compact Enterprise", 
"operations: { 
    "1": {start: 420, end: 1020 }, -> operation time for dayOfWeek = 1 
    "2": {start: 420, end: 1020 }, -> operation time for dayOfWeek = 2 
    ..... 
    } 
} 
+0

私はあなたの答えを使用して、それはうまくいく:D –

関連する問題