2013-10-16 33 views
1

MongoDB中日期字段的類型應該是什麼?MongoDB中日期字段的類型(並對它們進行排序)

一)一個String"2013-10-03T08:30:23.094Z"

B)一個ISODate對象像ISODate("2013-10-15T14:49:46.847Z")

的哪一個都會讓我按日期/時間?

+0

字符串的問題是詞典排序,也就是說10在正常排序前的9之前,它更大並且與MongoDB的某些部分不兼容作爲日期 – Sammaye

+0

@Sammaye,所以我應該使用適當的ISODate對象來存儲日期/時間? – alexandernst

+0

我會這樣說,這是更好,更爲日期設計 – Sammaye

回答

2

絕對使用ISODate

  • 它可與要使用的aggregation framework date operators$day$hour$dayOfWeek
  • 它消耗了大量的less memory,字符串需要28個字節(20個字符+空終止符+前置int32字符串長+ 3字節填充),ISODate只需要8個字節(int64)

在ISO 8601 f ormat,詞典和按時間順序排序是相同的,除了否定日期,所以$gt$lt也適用於字符串。

相關問題