Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

db.collection.getIndexes()

在此页面上

  • 定义
  • 兼容性
  • 行为
  • 必需的访问权限
  • 输出

带驱动程序的 MongoDB

本页面提供 mongosh 方法的相关信息。要查看 MongoDB 驱动程序中的等效方法,请参阅编程语言的相应页面:

C#Java SyncNode.jsPyMongoCC++GoJava RSKotlin CoroutineKotlin SyncPHPMongoidRustScala
db.collection.getIndexes()

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

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

db.collection.getIndexes()

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

此方法可用于以下环境中托管的部署:

  • MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务

注意

所有 MongoDB Atlas 集群都支持此命令。有关 Atlas 对所有命令的支持的信息,请参阅不支持的命令

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()