我见过使用字符串、整数时间戳和 mongo datetime 对象。
最好的方法是存储原生 JavaScript Date 对象,这些对象映射到BSON 原生 Date 对象。
> db.test.insert({date: ISODate()}) > db.test.insert({date: new Date()}) > db.test.find() { "_id" : ObjectId("..."), "date" : ISODate("2014-02-10T10:50:42.389Z") } { "_id" : ObjectId("..."), "date" : ISODate("2014-02-10T10:50:57.240Z") }
native 类型支持一系列开箱即用的 有用方法,例如,您可以在 map-reduce 作业中使用这些方法。
如果需要,您可以分别使用方法和构造函数轻松地将Date对象与 Unix 时间戳1)相互转换。getTime()``Date(milliseconds)
Date
getTime()``Date(milliseconds)
1)严格来说,Unix 时间戳是以 秒 为单位的。JavaScript Date 对象以 Unix 纪元以来的 毫秒数为单位。