getIndexes()(查看索引列表)
最后更新:2026-10-09
getIndexes()(查看索引列表)
getIndexes()返回集合的全部索引列表,例如`db.users.getIndexes()`。结果数组包含每个索引的名称、键、是否唯一等信息,_id索引始终在第一项。它是排查查询性能、确认索引是否生效的首要工具。
| 分类 | 索引与管理 |
|---|---|
| MongoDB 版本 | 1.0+ |
| 示例语言 | mongosh (Shell) |
📝 语法
db.<集合>.getIndexes()
返回值:索引信息文档数组,含name、key、unique等字段。
▶ 示例
请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):
// getIndexes:查看users集合的所有索引
const indexes = db.users.getIndexes()
indexes
运行结果:
[
{ v: 2, key: { _id: 1 }, name: '_id_' },
{ v: 2, key: { age: 1 }, name: 'age_1' }
]
📌 注意事项
- 结果第一项永远是_id索引
- 可用于确认createIndex是否真的生效
- 索引缺失时查询会全表扫描,可据此判断是否要补索引
🏷️ 相关标签
💡 相关案例
📚 相关教程
❓ 常见问题
Q怎么确认索引创建成功?
A调用db.users.getIndexes(),在返回列表中查找对应索引名即可。
QgetIndexes返回的数组里为什么总有_id?
A_id索引是MongoDB自动创建的系统索引,用于保证_id唯一和查询性能,始终存在。
Q怎么检查查询有没有用上索引?
A对查询执行.explain('executionStats'),查看totalDocsExamined和usedIndexes等信息。