MongoDB的日期类型

MongoDB中有两种日期类型:ISODateDate

ISODate类型

ISODate类型是MongoDB中存储日期时间的标准格式,也是MongoDB官方推荐的日期类型。它的格式为ISO 8601,精确到毫秒,例如:“2019-08-21T17:37:46.123Z”。其中,T表示时间的开始,Z表示时区为UTC(协调世界时)。
在MongoDB命令行中,可以使用new Date()函数来创建一个ISODate类型的日期,例如:

db.collection.insertOne({ "date": new Date() })

ISODate类型支持各种日期操作,例如比较、范围查询等。例如,可以使用 g t e 、 gte、 gtelte等操作符来对日期进行范围查询,例如:

> db.collection.find({ "date": { "$gte": ISODate("2019-08-21T00:00:00Z"),"$lte": ISODate("2019-08-21T23:59:59Z") } })

Date类型

Date类型是JavaScript中的日期类型,在MongoDB中也可以使用Date类型来存储日期。Date类型存储的数据精度为毫秒,例如:1566401466123。
在MongoDB命令行中,可以使用Date构造函数来创建一个Date类型的日期,例如:

db.collection.insertOne({ "date": new Date(1566401466123) })

相互转换

ISODate类型和Date类型可以相互转换,例如:

> db.collection.insertOne({ "date": new Date() })
> var doc = db.collection.findOne()
> doc.date instanceof Date // true
> doc.date.toISOString() // "2019-08-21T17:37:46.123Z"
> new ISODate(doc.date.toISOString()) // ISODate("2019-08-21T17:37:46.123Z")

ISODate类型的日期可以进行更多的日期操作,而Date类型只支持有限的日期操作。因此,MongoDB官方推荐使用ISODate类型来存储日期。

相关文章

文章浏览阅读552次。com.mongodb.MongoQueryException: Quer...
文章浏览阅读635次,点赞9次,收藏8次。MongoDB 是一种 NoSQ...
文章浏览阅读2.1k次。和。_mongodb 日期类型
文章浏览阅读1.7k次。Scalestack等客户期待使用MongoDB Atla...
文章浏览阅读970次。SpringBoot整合中间件mongodb、ES_sprin...
文章浏览阅读673次。MongoDB 简介_尚医通sql