📜  MongoDB 中的索引

📅  最后修改于: 2021-09-08 16:25:29             🧑  作者: Mango

MongoDB 是领先的用 C++ 编写的 NoSQL 数据库。它具有高可扩展性并提供高性能和可用性。它适用于集合和文档的概念。 MongoDB 中的集合是一组绑定在一起的相关文档。该集合不遵循任何模式,这是 MongoDB 的显着特征之一。

MongoDB 中的索引:
MongoDB 使用索引来提高查询处理的效率。如果没有索引,那么 MongoDB 必须扫描集合中的每个文档并仅检索与查询匹配的那些文档。索引是一种特殊的数据结构,用于存储与文档相关的一些信息,以便 MongoDB 可以轻松找到正确的数据文件。索引按索引中指定的字段的值排序。

创建索引:
MongoDB 提供了一个名为 createIndex() 的方法,允许用户创建索引。

句法 –

db.COLLECTION_NAME.createIndex({KEY:1}) 

键确定您要根据其创建索引的字段,而 1(或 -1)确定这些索引的排列顺序(升序或降序)。

例子 –

db.mycol.createIndex({“age”:1})
{
“createdCollectionAutomatically” : false,
“numIndexesBefore” : 1,
“numIndexesAfter” : 2,
“ok” : 1
} 

createIndex() 方法还有许多可选参数。
这些包括:

  • 背景(布尔)
  • 唯一(布尔)
  • 名称(字符串)
  • 稀疏(布尔)
  • 删除索引

为了删除索引,MongoDB 提供了 dropIndex() 方法。

句法 –

db.NAME_OF_COLLECTION.dropIndex({KEY:1}) 

dropIndex() 方法一次只能删除一个索引。为了从集合中删除(或删除)多个索引,MongoDB 提供了 dropIndexes() 方法,该方法将多个索引作为其参数。

句法 –

db.NAME_OF_COLLECTION.dropIndexes({KEY1:1, KEY2, 1}) 

dropIndex() 方法一次只能删除一个索引。为了从集合中删除(或删除)多个索引,MongoDB 提供了 dropIndexes() 方法,该方法将多个索引作为其参数。

获取所有索引的描述:
MongoDB 中的 getIndexes() 方法描述了给定集合中存在的所有索引。

句法 –

db.NAME_OF_COLLECTION.getIndexes() 

它将检索在集合中创建的索引的所有描述。