AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

임베딩된 차트 필터링

다음을 추가하여 포함된 차트를 사용자 지정할 수 있습니다.

  • 사전 필터. Charts 임베딩 SDK에서 preFilter 옵션을 사용하거나 iframe URL에 다양한 쿼리 매개변수를 추가합니다.

  • 필터. Charts 임베딩 SDK에서 filter 옵션을 사용하거나 iframe URL에 다양한 쿼리 매개변수를 추가합니다.

사전 필터와 필터를 모두 사용하는 것은 선택 사항인 경우에도 동일한 대시보드 에서 사용할 수 있습니다. 지정된 경우 사전 필터는 항상 차트 뷰 이후, 대시보드의 쿼리 및 필터 이전에 실행 됩니다.

참고

대시보드에서 Atlas Charts를 임베드하려면 데이터 소스에서 임베딩 옵션을 구성해야 합니다. 지침은 다음을 참조하세요.

임베딩된 Atlas Charts와 Atlas Charts를 임베딩된 대시보드에서 필터링할 수 있습니다.

차트 작성자 는 임베딩 애플리케이션 코드로 설정하다 하거나 차트 뷰어가 추가한 사전 필터 및 필터에 포함할 수 있는 필드를 지정합니다. 차트 작성자는 특정 필드만 사전 필터링하거나 필터링하도록 허용하여 데이터에 액세스 를 제한할 수 있습니다. 기본값 필드는 허용되지 않으므로 하나 이상의 필드 를 명시적으로 허용할 때까지 차트 를 사전 필터링하거나 필터링할 수 없습니다.

사전 필터 및 필터에 대해 필터링 가능한 필드를 정의하려면 다음을 수행합니다.

  1. 필터링 가능한 필드를 정의하려는 차트가 포함된 대시보드 로 이동합니다.

  2. 원하는 차트에 대해 다음을 클릭합니다. 버튼을 클릭하고 드롭다운에서 Embed Chart 를 선택합니다.

  3. Allowed filter fields 섹션에서 드롭다운을 사용하여 차트 뷰어가 차트에서 필터 데이터를 사용할 수 있는 필드를 선택합니다. 또한 값을 수동으로 입력하여 드롭다운에 나열되지 않은 필드를 추가할 수도 있습니다.

    참고

    이 옵션은 인증되지 않음 또는 인증 된 임베딩 액세스를 이미 활성화한 경우에만 표시됩니다.

    차트 뷰어가 데이터를 사전 필터링하거나 필터하다 할 수 있는 필드를 지정하려면 다음을 수행합니다.

    • 드롭다운을 사용하여 필드를 선택합니다.

    • 드롭다운에 나열되지 않은 필드를 추가하려면 값을 수동으로 입력합니다.

    • Allow all fields in the data source used in this chart0}을 선택합니다.

  4. 원하는 필드를 모두 선택했으면 드롭다운 아래의 Save 를 클릭합니다.

차트를 렌더링하는 차트 뷰어 및 애플리케이션은 이제 지정된 필드를 기반으로 하는 사전 필터 및 필터를 사용하여 원본 차트 데이터의 하위 집합을 표시할 수 있습니다. 뷰어가 허용된 필터하다 필드 목록에 포함되지 않은 필드 에 필터하다 를 사용하려고 하면 Atlas Charts 에서 오류를 반환합니다.

내장된 문서가 값인 Allowed filter fields 목록에 필드를 추가하는 경우 허용하려는 각 개별 하위 필드도 지정해야 합니다.

예시

다음 문서를 살펴보세요.

{
"name": "Alice",
"favorites" :
{
"color": "green",
"animal": "turtle",
"season": "autumn"
}
}

허용된 필드 목록에 favorites 필드만 추가하는 경우 최종 사용자가 favorites 의 하위 필드를 필터링할 수 있는 권한을 부여하지 않습니다 . 대신 favorites.color, favorites.animal 또는 favorites.season 를 지정하여 목록에 하나 이상의 하위 필드를 개별적으로 추가할 수 있습니다.

임베딩된 차트 및 많은 수의 컬렉션이 있는 대시보드에 사전 필터를 사용합니다. 사전 필터는 포함된 차트 파이프라인 의 이전 단계에서 실행 되며 다음을 수행할 수 있습니다.

  • 데이터를 조기에 필터링하여 쿼리 실행 시간을 줄입니다.

  • 애그리게이션이 포함된 차트 쿼리의 경우 쿼리 를 실행하기 전에 필터를 적용합니다.

사전 필터는 필터와 정확히 동일하게 작동하며 동일한 구문을 사용합니다. 유일한 차이점은 차트 뷰 이후와 차트 쿼리 및 필터가 시작되기 전에 실행 된다는 것입니다. 파이프라인 세그먼트의 순서에 학습 보려면 집계 파이프라인 을 참조하세요.

iframe에 포함된 차트 의 경우 차트 쿼리 실행 이 시작되기 전에 preFilter 쿼리 매개변수를 사용하여 데이터를 필터하다 합니다.

You can specify an MQL document as your preFilter query parameter provided that the fields used in your filter are in the list of allowed filterable fields.

다음 예시 에서는 차트 보기, 쿼리 , 필터 및 사전 필터가 함께 작동하는 방식을 보여 줍니다.

다음 시나리오를 생각해 보겠습니다.

  • Charts 보기에는 다음이 포함됩니다.

    [ { $project: { accommodates: 1, "bedrooms": 1, "address.country": 1 } } ]
  • 쿼리 표시줄에는 다음이 포함됩니다.

    [ { $match: { accommodates: { $gte: 3 } } }, { $project: { address: 0 } } ]
  • 내장된 차트 의 필터하다 에는 다음이 포함됩니다.

    { "bedrooms": { $lte: 3 } }
  • 내장된 차트 의 사전 필터에는 다음이 포함됩니다.

    { "address.country": "Australia" }

이전 예시 에서는 차트의 쿼리 가 실행 되기 전에 오스트레일리아에 있는 아파트만 찾도록 사전 필터가 적용됩니다. 그런 다음 차트의 쿼리 가 실행되어 3명 이상을 수용할 수 있는 모든 아파트를 식별합니다.

iframe에 포함된 차트에서 지정된 MQL 필터와 일치하는 데이터만 표시하려면 filter 쿼리 매개변수를 사용합니다.

Unauthenticated 및 Verified Signature 차트 모두에서 filter 쿼리 매개변수를 사용할 수 있습니다. 필터링 동작은 각 인증 설정에 따라 다릅니다.

  • With unauthenticated charts, the chart Author specifies the fields that can be included in filters set by the embedding application code or added by chart viewers. To learn how to specify filterable fields, see Specify Filterable Fields.

  • Atlas Charts가 필요한 서명이 확인된 경우, 모든 문서 필드를 필터링할 수 있지만, 서버 측 코드에서 필터를 생성하고 서명된 페이로드의 일부로 해당 필터를 포함해야 합니다.

해당 탭을 선택하면 Unauthenticated 차트 및 Verified Signature 차트에서 데이터를 필터링하는 방법의 예를 볼 수 있습니다.

You can specify an MQL document as your filter query parameter provided that the fields used in your filter are in the list of allowed filterable fields.

Your filter must match the format used in a $match query and be either a:

  • 최상위 쿼리

    예시

    { "quantity": { $gte: 20 } }
  • Or within boolean expressions ( $and, $nor, $or)

    예시

    { $or: [ { quantity: { $lt: 20 } }, { price: 10 } ] }

참고

필터 매개변수의 특수 문자는 URL 인코딩해야 합니다.

다음 iframe src URL은 가 이상인 문서만 표시하는 차트를 렌더링합니다.imdb.rating 8

https://charts.mongodb.com/charts-atlasproject1-piocy/embed/charts?
id=93584ddb-1115-4a12-afd9-5129e47bbb0d&
filter={"imdb.rating":%20{$gte:%208}}&
autoRefresh=60

URL은 {"imdb.rating":%20{$gte:%208}} 의 인코딩된 filter 매개변수를 사용합니다. 디코딩된 이 필터는 다음과 같습니다.

{"imdb.rating": {$gte: 8}}

You can add a preFilter to an embedded chart with the preFilter option. Pre-filtering allows the chart author to run a filter after the chart views and before the chart query execution and chart's filters.

Embed Chart 모달에서 사전 필터에 포함할 필드를 지정해야 합니다. Embed Chart 모달에는 필터링을 허용할 수 있는 필드의 드롭다운 메뉴가 포함되어 있습니다.

다음은 preFilter 옵션을 사용하여 오스트레일리아의 문서만 나타냅니다.

createChart({
baseUrl: '<your-base-url>',
chartId: '<your-chart-id>',
width: 500,
height: 500,
preFilter: { "address.country": "Australia" }
})

You can add a filter to an embedded chart with the filter option. Filtering allows the chart author to only display data in the embedded chart which matches a specified MQL filter.

Embed Chart 모달에서 필터하다 에 포함할 필드를 지정해야 합니다. Embed Chart 모달에는 필터링을 허용할 수 있는 필드의 드롭다운 메뉴가 포함되어 있습니다.

다음은 filter 옵션을 사용하여 total 필드가 100 보다 큰 문서만 나타냅니다.

createChart({
baseUrl: '<your-base-url>',
chartId: '<your-chart-id>',
width: 500,
height: 500,
filter: { "total": { "$gt": 100 } }
})

Authenticated 액세스가 필요한 차트를 삽입하는 경우 Injected function 설정을 사용하여 차트를 보는 각 사용자에게 특정한 MongoDB 필터 문서를 삽입할 수 있습니다. 이 함수는 context.token 을(를) 통해 Embedding 인증 제공자의 토큰에 액세스할 수 있으며 토큰을 기반으로 차트 데이터를 필터링할 수 있습니다.

이 필터는 포함된 Atlas Charts의 뷰어가 자신의 데이터만 볼 수 있도록 하므로, 잠재적으로 민감한 정보가 포함된 Atlas Charts를 포함할 때 유용합니다.

각 사용자에게 특정한 필터를 삽입하려면 Embed Chart 대화 상자의 Authenticated 탭에서 Injected function 설정을 On 로 설정합니다. 함수를 지정하고 Save 를 클릭합니다.

예시

다음 필터 함수는 문서의 ownerId 필드가 임베딩 인증 제공자의 토큰의 sub 필드 값과 일치하는 데이터만 렌더링합니다.

function getFilter(context) {
return { ownerId: context.token.sub };
}