“文档” 菜单
文档首页
/
MongoDB Manual
/ / /

db.collection.getIndexes()

在此页面上

  • 定义
  • 行为
  • 必需的访问权限
  • 输出
db.collection.getIndexes()

重要

mongosh 方法

本页面提供 mongosh 方法的相关信息。这不是数据库命令或特定语言驱动程序(例如 Node.js)的相关文档。

有关数据库命令,请参阅 listIndexes命令。

如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。

对于传统 mongo Shell 文档,请参阅相应 MongoDB Server 版本的文档:

mongo shell v4.4

返回一个包含文档列表的数组,这些文档会对集合上现有的索引进行标识和描述,包括隐藏的索引

必须在集合上调用 db.collection.getIndexes()。例如:

db.collection.getIndexes()

collection 更改为要返回索引信息的集合的名称。

getIndexes() 不返回有关Atlas Search 索引的信息。有关 Atlas Search 索引的信息,请使用$listSearchIndexes

从 MongoDB 4.2 开始,如果在操作完成之前,发出 db.collection.getIndexes() 的客户端断开连接,MongoDB 将使用killOpdb.collection.getIndexes() 标记为终止。

要在副本集成员上运行,listIndexes 操作需要成员处于 PRIMARYSECONDARY 状态。如果节点处于其他状态,如 STARTUP2,则操作错误。

从 MongoDB 6.3、6.0.5 和 5.0.16 开始,wildcardProjection 字段以其提交的形式存储索引投影。早期版本的服务器可能已将投影以标准化形式存储。

服务器以相同的方式使用索引,但您可能会注意到 listIndexesdb.collection.getIndexes() 命令的输出有所不同。

要在强制执行访问控制时运行 db.collection.getIndexes(),用户必须对该集合拥有 listIndexes 权限。

内置角色 read 提供了为数据库中的集合运行 db.collection.getIndexes() 所需的特权。

db.collection.getIndexes() 会返回保存该集合索引信息的文档的数组。例如:

[
{
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_"
},
{
"v" : 2,
"key" : {
"status" : 1
},
"name" : "status_1"
},
{
"v" : 2,
"key" : {
"points" : 1
},
"name" : "points_1"
}
]

索引信息包括用于创建索引的键和选项。仅当值为 true 时,索引选项 hidden 才可用。

有关键和索引选项的信息,请参阅db.collection.createIndex()

← db.collection.findOneAndUpdate()