如何为“日期”创建索引?

Posted

技术标签:

【中文标题】如何为“日期”创建索引?【英文标题】:How do I create an indexes for "date"? 【发布时间】:2017-03-19 14:16:04 【问题描述】:

CentOS7,MongoDB服务器版本:3.4.2

db.animals.createIndex('date')

    "ok" : 0,
    "errmsg" : "The field 'key' must be an object, but got string",
    "code" : 14,
    "codeName" : "TypeMismatch"


db.animals.find(, date: 1).limit(1)
 "_id" : 3477, "date" : ISODate("2016-12-22T09:38:59Z") 

【问题讨论】:

【参考方案1】:

您可以使用以下方法在键 date 上创建简单索引:

Ascending order: db.animals.createIndex('date':1)

Descending order: db.animals.createIndex('date':-1)

在添加索引之前,您可能需要查看indexing doc

【讨论】:

什么时候应该使用 1 而不是 -1?【参考方案2】:

对于单个字段,您不需要反转索引,因为 mongodb 可以在任一方向使用索引。只有当你有一个复合索引并且你有一个不同方向的排序时才重要。

【讨论】:

以上是关于如何为“日期”创建索引?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 SQL 表达式创建数据库索引?

如何为多变量索引匹配公式创建 UDF

如何为clickhouse创建索引?

如何为大型数据集创建 UITableView 索引

如何为mysql中的现有表创建索引?

如何为动态生成 Select 语句的 30 列表创建索引