2013-10-16 5 views
1

MongoDB의 날짜 필드 형식은 무엇이되어야합니까?MongoDB의 날짜 필드 유형 (및 정렬)

a)는 String

또는

b)는 그 중 하나가 날짜/시간을 기준으로 저를 정렬하게됩니다

ISODate("2013-10-15T14:49:46.847Z") 같은 ISODate 객체 "2013-10-03T08:30:23.094Z" 같은?

+0

문자열의 문제는 사전 식 정렬입니다. 즉, 보통 정렬에서는 10이 9보다 앞에오고, alsl은 MongoDB의 일부와 호환되지 않습니다. – Sammaye

+0

@Sammaye 따라서 날짜/시간 저장에 적절한 ISODate 개체를 사용해야합니다. ? – alexandernst

+0

나는 이렇게 말할 것이다. 그것은 날짜가 훨씬 더 좋고 더 많이 디자인되었다. – Sammaye

답변

2

가 확실히 사용 ISODate :

  • 그것은 함께 사용할 수있는 aggregation framework date operators$day, $hour, $dayOfWeek 등이 많이 less memory이 문자열은 28 바이트 (20 개 문자를 필요로 소비
  • + null 종결 자 + 앞에 int32 문자열 길이 + 3 바이트 패딩) ISODate은 단순한 8 바이트 (int64)가 필요합니다.

ISO 8601 f ormat, lexicographic 및 chronological 정렬은 음수 일을 제외하고는 동일하므로 $gt$lt도 문자열에서 작동합니다.