Mongodb:如果比较运算符有效,为什么要将字符串日期转换为ISOdate?

Ant*_*nel 4 mongodb mongodb-query

我有以下类型的文件:

{ 
  "_id" : ObjectId("538d64a11ca6e50941fda4d9"), "_id" : "538d518e20b8fd642e0000e8", 
  "posts" : "some stuff", "date" : "2014-06-02"
}
Run Code Online (Sandbox Code Playgroud)

使用字符串日期的比较运算符(不是Mongodb ISODate)有效:

> collection.find({"date": {"$gte": "2014-06-02"}})
Run Code Online (Sandbox Code Playgroud)

那么为什么我们(麻烦)将字符串日期转换为ISODate呢?

Joh*_*yHK 7

使用MongoDB BSON Date类型而不是字符串的最大优点可能是您只能将aggregate Date运算符与BSON Date值一起使用.

但是,如果您不需要对数据进行任何聚合,那么使用可排序的字符串格式来表示日期很好并且通常更清晰,因为您不需要处理与时区相关的显示问题.