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

db.collection.getIndexes()

在此页面上

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

带有驱动程序的 MongoDB

本页介绍了 mongosh方法。要查看 MongoDB 驱动程序中的等效方法,请参阅您的编程语言的相应页面:

C#Java SyncNode.jsCC++GoJava RSKotlin CoroutineKotlin SyncPHPPyMongoMongoidRustScala
db.collection.getIndexes()

返回一个大量,其中包含标识和描述集合上现有索引(包括隐藏索引)的文档列表。

必须在集合上调用 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