📜  在MongoDB中建立索引

📅  最后修改于: 2021-08-27 18:09:47             🧑  作者: 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() 

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