SequoiaDB 简介
安装部署
数据库实例
分布式引擎
SAC 管控中心
参考手册
常见问题及解答(FAQ)
版本信息
listIndexes - 列举集合中的索引信息
db.collectionspace.collection.listIndexes()
SdbCollection
该函数用于列举指定集合中所有索引的信息。用户通过协调节点执行该函数,将从编目节点获取索引信息;通过数据节点执行该函数,将从该数据节点获取索引信息。
无
函数执行成功时,将返回一个 SdbCursor 类型的对象。通过该对象获取索引详细信息列表,字段说明如下:
| 字段名 | 类型 | 描述 |
|---|---|---|
| name | string | 索引名 |
| key | json | 索引键,取值如下: 1:按字段升序 -1:按字段降序 "text":全文索引 |
| v | int32 | 索引版本号 |
| unique | boolean | 索引是否唯一,取值如下: "true":唯一索引,不允许集合中有重复的值 "false":普通索引,允许集合中有重复的值 |
| enforced | boolean | 索引是否强制唯一,取值如下: "false":不强制唯一 "true":强制唯一,即不允许存在一个以上全空的索引键 |
| NotNull | boolean | 索引的任意一个字段是否允许为 null 或者不存在,取值如下: "true":不允许为 null 或者不存在 "false":允许为 null 或不存在 |
| IndexFlag | string | 索引当前状态,取值如下: "Normal":正常 "Creating":正在创建 "Dropping":正在删除 "Truncating":正在清空 "Invalid":无效 |
| Type | string | 索引类型,取值如下: "Positive":正序索引 "Reverse":逆序索引 "Text":全文索引 |
| NotArray | boolean | 索引的任意一个字段是否允许为数组,取值如下: "true":不允许为数组 "false":允许为数组 |
| Global | boolean | 是否为全局索引(内部使用) |
| dropDups | boolean | 是否自动删除相同的键值(内部使用) |
函数执行失败时,将抛异常并输出错误信息。
当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南。
v3.4 及以上版本
列举集合 sample.employee 中所有索引的信息
> db.sample.employee.listIndexes()
{
"IndexDef": {
"name": "$id",
"_id": {
"$oid": "5e9e91bccf4f1e7370e4074d"
},
"key": {
"_id": 1
},
"v": 0,
"unique": true,
"dropDups": false,
"enforced": true,
"NotNull": false,
"NotArray": false
"Global": false
},
"IndexFlag": "Normal",
"Type": "Positive"
}
展开