Ако не ви интересува поддръжката на часова зона във вашето приложение, тогава използването на низове за основни заявки в MongoDB трябва да работи добре (но ако има значение, ще искате истинска Date
тип).
Въпреки това, ако по-късно искате да направите математика за дата или да използвате Aggregation Framework с вашето поле за дата, е необходимо полето действително да е Date
тип:
http://docs.mongodb.org/manual/reference/aggregation/ #оператори за дата
Например, можете да използвате $dayOfWeek
функция на Date
въведено поле.
Вероятно бихте могли да правите някои прости неща като групиране по година, като използвате $substr
(doc
) в MongoDB, но полученият код няма да е толкова ясен (нито вероятно ще работи добре).
Въпреки че не е голяма разлика, бих препоръчал да ги съхранявате като Date
типове, ако е възможно като цяло.
Виждам в документи
за драйвера Perl, за който разработчиците са предупредени да не използват DateTime
поради факта, че е много бавен, така че може би ако използвате Perl редовно и Aggregation Framework не е голям проблем, би било по-добре да ги съхранявате или като числа, или като низове, и да ги конвертирате, ако е необходимо в Perl.
Ако пространството е проблем, премахнете ненужните знаци (като -
):
20130613 ->
4 bytes for length of string
8 bytes encoded as UTF-8
NULL character
Това ще бъде 13 знака. Стойност на DateTime в BSON
/MongoDB изисква 8 байта от друга страна (както и Perl $time
функция).
(Силно препоръчвам да направите малко тестове за производителност, за да разберете дали въздействието върху производителността от използването на Date
тип в MongoDB с Perl ще повлияе на типичните ви работни процеси.)