MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB разлика между обект DateTime и низ ГГГГ-ММ-ДД

Ако не ви интересува поддръжката на часова зона във вашето приложение, тогава използването на низове за основни заявки в 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 ще повлияе на типичните ви работни процеси.)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Опцията useFindAndModify не се поддържа

  2. MongoError напишете EPIPE” в инсталацията на Parse-Server

  3. Преброяване на съвместни събития с помощта на рамка за агрегиране на Mongo

  4. MongoDB c# драйвер:Без значение за малки и големи букви Сравнете с помощта на in или съдържа в списък с помощта на linq

  5. Django-nonrel срещу Django-mongodb срещу Mongokit срещу pymongo native