Mongo 文档字段的日期范围查询是 ISOString 但未键入日期?

Date range query for Mongo document field that is an ISOString but not typed Date?

假设我有一个包含文档的集合(来自 JSON),其中包含一个带有日期信息的字段 - 作为 ISOString(但不是日期类型)。例如:

{
  foo: {
    completed: "2015-02-25T12:44:47.335Z"
  }
}

如何对该数据执行日期范围查询?据我所知,该字段被视为一个字符串。我也在使用猫鼬。我可以在模式中做一些事情来适当地键入这个子字段吗?

最好转换为 Date 类型,但您仍然可以对 ISO 日期字符串执行排序和范围过滤。

db.test.find({'foo.completed': {
    $gt: '2015-01-25T12:44:47.335Z', 
    $lt: '2015-03-25T12:44:47.335Z'
}})