【问题标题】:MongoDB: Understanding index types and index propertiesMongoDB:了解索引类型和索引属性
【发布时间】:2020-10-09 10:13:52
【问题描述】:

从 MongoDB 文档中,他们声明了六种索引类型:

  1. 单字段索引
  2. 复合索引
  3. 多键索引
  4. 地理空间索引
  5. 文字索引
  6. 散列索引

文档还说明了四个索引属性。

  1. 唯一索引
  2. 部分索引
  3. 稀疏索引
  4. TTL 索引

我的问题是:

  1. 任何索引类型都可以有任何索引属性吗?

  2. 一个索引类型可以有多个索引属性吗?

  3. According to the docs: MongoDB 在创建过程中会在 _id 字段上创建唯一索引 一个集合。 这是否意味着当我按 Id 搜索时,MongoDB 不会进行集合扫描,而是使用 id 索引来有效地执行查询?还是默认 id 索引仅用于唯一性?唯一索引属性是否总是支持更快的查询?

  4. 我正在通过mongoose 使用 MongoDB。当defining a schema in node.js 字段unique: true 是否暗示对其进行索引将导致高效搜索而不是集合扫描?

  5. 物化视图能否在 MongoDB 中建立索引?如果有怎么办?

  6. 在 MongoDB 文档中,它指出 MongoDB 提供了许多不同的索引类型来支持特定类型的数据和查询。 只是没有解释什么是索引属性。您将如何定义索引属性?

【问题讨论】:

    标签: node.js mongodb mongoose indexing


    【解决方案1】:

    任何索引类型都可以有任何索引属性吗?

    一个索引类型可以有多个索引属性吗?

    您可以自己测试并找出答案。

    这是否意味着当我按 Id 搜索时,MongoDB 不会进行集合扫描,而是使用 id 索引来有效地执行查询?

    是的。

    唯一索引属性是否总是支持更快的查询?

    唯一性是指对可以放置在索引字段中的数据的限制。唯一和非唯一索引都允许快速检索由索引字段查询的数据。

    物化视图可以在 MongoDB 中建立索引吗?

    如果您在谈论https://docs.mongodb.com/manual/core/materialized-views/,MongoDB 中的“物化视图”与索引是正交的。如果您希望有效地查询“物化视图”,您可以在此页面所指的“输出集合”($merge 的参数)上添加索引。

    MongoDB 提供了许多不同的索引类型来支持特定类型的数据和查询。

    地理空间索引支持地理查询。文本索引支持文本搜索。其他索引是通用的。

    【讨论】:

      猜你喜欢
      • 2017-02-07
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-20
      • 2010-12-17
      • 1970-01-01
      相关资源
      最近更新 更多