文档菜单
文档首页
/
MongoDB 手册
/ / /

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搜索索引 的信息。有关Atlas搜索索引的信息,请使用 $listSearchIndexes

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

要在副本集成员上运行,需要成员处于PRIMARYSECONDARY状态。listIndexes操作。如果成员处于其他状态,例如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"
}
]

索引信息包括创建索引时使用的键和选项。索引选项 hidden 只有在值为 true 时才可用。

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

返回

db.collection.findOneAndUpdate