Docs Menu

스키마 조언 받기

가장 활동적인 20 컬렉션을 분석하여 클러스터 에 대한 스키마 개선 권장 사항을 제공합니다.

기본 URL: https://cloud.mongodb.com/api/public/v1.0

GET /groups/{PROJECT-ID}/performanceAdvisor/schemaAdvice
Parameter
유형
설명

프로젝트 ID

문자열

(필수 사항) 이 MongoDB deployment 소유한 프로젝트 의 고유 식별자입니다. 그룹과 프로젝트는 동의어입니다. 그룹 ID 프로젝트 ID 와 동일합니다.

clusterId 또는 hostId 중 하나가 필요합니다.

Parameter
유형
설명

pretty

부울

응답 본문이 프리티프린트 에 있어야 하는지 여부를 나타냅니다. 형식.

envelope

부울

응답을 엔벨로프에 래핑할지 여부를 나타냅니다.

clusterId

문자열

복제본 세트 또는 샤딩된 클러스터 의 고유 식별자입니다. hostId를 사용하는 독립형 인스턴스 에 대한 스키마 조언 원하는 경우 이 매개변수를 null 로 설정합니다.

hostId

문자열

스키마 조언 원하는 독립형 인스턴스 의 고유 식별자입니다. clusterIdnull인 경우 필수입니다.

이 엔드포인트는 HTTP 요청 본문 매개변수를 사용하지 않습니다.

이름
유형
설명

content

객체 목록

네임스페이스 별 스키마 개선을 위한 제안 조치가 포함되어 있습니다.

content.recommendations

객체

Performance Advisor 스키마 개선 제안이 있는 네임스페이스.

content.recommendations .affectedNamespaces

배열

네임스페이스 목록 및 해당 네임스페이스가 권장 사항을 트리거한 이유에 대한 정보입니다.

content.recommendations .affectedNamespaces.namespace

문자열

영향을 받는 컬렉션 의 네임스페이스입니다. 이는 REDUCE_NUMBER_OF_NAMESPACES 권장 사항의 null 입니다.

content.recommendations .affectedNamespaces.triggers

객체

권장 사항을 활성화한 트리거하다 에 대한 세부 정보입니다.

content.recommendations .affectedNamespaces.triggers .description

문자열

트리거하다 유형에 대한 설명입니다.

content.recommendations .affectedNamespaces.triggers .triggerType

문자열

트리거하다 유형입니다. 옵션에는 다음이 포함됩니다.

  • PERCENT_QUERIES_USE_LOOKUP

  • NUMBER_OF_QUERIES_USE_LOOKUP

  • DOCS_CONTAIN_UNBOUNDED_ARRAY

  • NUMBER_OF_NAMESPACES

  • DOC_SIZE_TOO_LARGE

  • NUM_INDEXES

  • QUERIES_CONTAIN_CASE_INSENSITIVE_REGEX

content.recommendations .description

문자열

지정된 권장 사항에 대한 설명입니다.

content.recommendations .recommendation

문자열

추천 유형입니다. 옵션에는 다음이 포함됩니다.

  • REDUCE_LOOKUP_OPS

  • AVOID_UNBOUNDED_ARRAY

  • REDUCE_DOCUMENT_SIZE

  • REMOVE_UNNECESSARY_INDEXES

  • REDUCE_NUMBER_OF_NAMESPACES

  • OPTIMIZE_CASE_INSENSITIVE_REGEX_QUERIES

  • OPTIMIZE_TEXT_QUERIES

curl --user '{PUBLIC-KEY}:{PRIVATE-KEY}' --digest \
--header 'Accept: application/json' \
--include \
--request GET 'https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/performanceAdvisor/schemaAdvice?clusterId={clusterId}&pretty=true'
HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=ISO-8859-1
Date: {dateInUnixFormat}
WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false
Content-Length: {requestLengthInBytes}
Connection: keep-alive
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json
Strict-Transport-Security: max-age=300
Date: {dateInUnixFormat}
Connection: keep-alive
Content-Length: {requestLengthInBytes}
X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
{
"content" : {
"recommendations" : [ {
"affectedNamespaces" : [ {
"namespace" : "someDb.someCollection",
"triggers" : [ {
"description" : "Documents larger than 2 MB found in the collection(s) scanned",
"triggerType" : "DOC_SIZE_TOO_LARGE"
} ]
}, {
"namespace" : "someDb1.someCollection1",
"triggers" : [ {
"description" : "Documents larger than 2 MB found in the collection(s) scanned",
"triggerType" : "DOC_SIZE_TOO_LARGE"
} ]
} ],
"description" : "Reduce the size of documents",
"recommendation" : "REDUCE_DOCUMENT_SIZE"
}, {
"affectedNamespaces" : [ {
"namespace" : "someDb2.someCollection2",
"triggers" : [ {
"description" : "More than 30 indexes detected in the collection(s) scanned",
"triggerType" : "NUM_INDEXES"
} ]
}, {
"namespace" : "someDb3.someCollection3",
"triggers" : [ {
"description" : "More than 30 indexes detected in the collection(s) scanned",
"triggerType" : "NUM_INDEXES"
} ]
} ],
"description" : "Remove unnecessary indexes",
"recommendation" : "REMOVE_UNNECESSARY_INDEXES"
}, {
"affectedNamespaces" : [ {
"namespace" : "someDb4.someCollection4",
"triggers" : [ {
"description" : "Arrays with over 10000 entries detected in the collection(s) scanned",
"triggerType" : "DOCS_CONTAIN_UNBOUNDED_ARRAY"
} ]
} ],
"description" : "Avoid using unbounded arrays in documents",
"recommendation" : "AVOID_UNBOUNDED_ARRAY"
} ]
},
"status" : 200
}