Docs 主页 → 开发应用程序 → MongoDB Manual
db.collection.getIndexes()
定义
db.collection.getIndexes()
重要
mongosh 方法
本页介绍了
mongosh
方法。这不是数据库命令或特定语言驱动程序(例如 Node.js)的文档。有关数据库命令,请参阅
listIndexes
命令。对于 MongoDB API 驱动程序,请参阅特定语言的MongoDB 驱动程序文档。
对于传统
mongo
Shell 文档,请参阅相应 MongoDB Server 版本的文档:返回一个包含文档列表的数组,这些文档会对集合上现有的索引进行标识和描述,包括隐藏的索引。
您必须对集合调用
db.collection.getIndexes()
。例如:db.collection.getIndexes() 将
collection
更改为要返回索引信息的集合的名称。
行为
客户端断开连接
从 MongoDB4 开始。2 ,如果发出 的客户端在操作完成之前断开连接,MongoDBdb.collection.getIndexes()
会使用db.collection.getIndexes()
killOp
将 标记为终止。
副本集节点状态限制
要在副本集成员上运行, listIndexes
操作要求该成员处于PRIMARY
或SECONDARY
状态。如果节点处于其他状态,例如STARTUP2
,则操作错误。
通配符索引 (Wildcard Indexes)
从 MongoDB 5开始。 0 。 16 , wildcardProjection
字段以其提交的形式存储索引投影。早期版本的服务器可能已将投影以规范化形式存储。
服务器以相同的方式使用索引,但您可能会注意到listIndexes
和db.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()
。