获取MongoDB集合索引信息
更新时间:2025-05-07
接口描述
获取MongoDB数据库中指定集合的索引信息,包括索引名称、字段、唯一性、稀疏性等详细属性。
权限说明
鉴权认证机制的详细内容请参见鉴权认证。
请求结构
Plain
1GET /api/v{version}/diagnosis/mongodb/schema/collection/index?product=string&appId=string&nodeId=string&database=string&collection=string HTTP/1.1
2Host: dbsc.bj.baidubce.com
3Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 必选 | 参数位置 | 描述 |
---|---|---|---|---|
version | string | 是 | Path参数 | API版本号 |
product | string | 是 | Query参数 | 产品类型,例如:mongodb等 |
appId | string | 是 | Query参数 | 实例ID,例如:mongodbcyr46f5v3r |
nodeId | string | 是 | Query参数 | 节点ID |
database | string | 是 | Query参数 | 数据库名称,例如:admin |
collection | string | 是 | Query参数 | 集合名称,例如:users |
响应头域
无。
响应参数
响应参数是一个包含多个MongoDBIndex对象的数组。
MongoDBIndex 结构
字段名 | 类型 | 说明 |
---|---|---|
name | string | 索引名称 |
keys | map[string]interface{} | 索引键,键是字段名,值是排序方式(1升序,-1降序,"text"文本索引等) |
unique | bool | 是否唯一索引 |
sparse | bool | 是否稀疏索引(只为包含索引字段的文档创建索引条目) |
partial | bool | 是否部分索引 |
partialFilterExpression | interface{} | 部分索引过滤器表达式 |
collation | interface{} | 排序规则信息 |
expireAfterSeconds | int64 | TTL索引的过期时间(秒) |
hidden | bool | 是否隐藏索引 |
type | string | 索引类型(如"single"、"compound"、"text"、"geo"等) |
wildcardProjection | interface{} | 通配符索引的投影,仅对通配符索引有效 |
weights | interface{} | 文本索引字段权重,仅对文本索引有效 |
defaultLanguage | string | 文本索引的默认语言,仅对文本索引有效 |
languageOverride | string | 文本索引的语言覆盖字段,仅对文本索引有效 |
请求示例
Plain
1GET /api/v1/diagnosis/mongodb/schema/collection/index?product=mongodb&appId=***&nodeId=***&database=test_db&collection=users HTTP/1.1
2Host: dbsc.bj.baidu.com
3Content-Type: application/json
4Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2023-07-11T11:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
响应示例
JSON
1{
2 "success": true,
3 "status": 200,
4 "result": [
5 {
6 "name": "_id_",
7 "keys": {
8 "_id": 1
9 },
10 "unique": false,
11 "sparse": false,
12 "partial": false,
13 "partialFilterExpression": null,
14 "collation": null,
15 "expireAfterSeconds": 0,
16 "hidden": false,
17 "type": "BTREE",
18 "wildcardProjection": null,
19 "weights": null,
20 "defaultLanguage": "",
21 "languageOverride": ""
22 },
23 {
24 "name": "email_1",
25 "keys": {
26 "email": 1
27 },
28 "unique": true,
29 "sparse": false,
30 "partial": false,
31 "partialFilterExpression": null,
32 "collation": null,
33 "expireAfterSeconds": 0,
34 "hidden": false,
35 "type": "BTREE",
36 "wildcardProjection": null,
37 "weights": null,
38 "defaultLanguage": "",
39 "languageOverride": ""
40 }
41 ]
42}