MongoDB中的ISO8601日期字符串(索引和查询)
我在MongoDB中有一个文档集合,所有文档都有一个“date”字段,这是一个ISO8601格式的日期字符串(即,由矩.js format()方法创建) 我希望能够高效地对这个集合运行查询,以表达“日期在a之后和B之前的文档”(即日期范围内的文档)的感觉 我是否应该将日期存储为ISO-8601字符串以外的内容?根据这个答案,对于我前面提到的需求,MongoDB查询操作会是什么样子?我的设想是:MongoDB中的ISO8601日期字符串(索引和查询),mongodb,date,Mongodb,Date,我在MongoDB中有一个文档集合,所有文档都有一个“date”字段,这是一个ISO8601格式的日期字符串(即,由矩.js format()方法创建) 我希望能够高效地对这个集合运行查询,以表达“日期在a之后和B之前的文档”(即日期范围内的文档)的感觉 我是否应该将日期存储为ISO-8601字符串以外的内容?根据这个答案,对于我前面提到的需求,MongoDB查询操作会是什么样子?我的设想是: {$and: [ {date: {$gt: "2017-05-02T03:15:22-04:00"
{$and: [
{date: {$gt: "2017-05-02T03:15:22-04:00"}},
{date: {$lt: "2017-06-02T03:15:22-04:00"}},
]}
这“管用”吗?我需要一些令人信服的信息。您肯定希望使用内置数据类型,在
日期
字段和而不是字符串上使用索引。与只比较64位整数的日期相比,字符串比较将非常缓慢
关于查询,请在此处查看答案: