Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Filtrar tableros embebidos

Puedes personalizar tus tableros incrustados añadiendo:

  • Pre-filtros. Usa el preFilter opción con el SDK de Charts Embedding o agregar varios parámetros de query a tus URLs de iframes.

  • filtro. Utiliza la opción filter con el SDK de inserción de Charts o añade varios parámetros de consulta a las URL del iframe.

Puede usar tanto pre-filtros como filtros en la misma gráfica, aunque su uso es opcional. Los prefiltros, si se especifican, siempre se ejecutan después de las vistas y antes de la consulta y los filtros del tablero. Para obtener más información sobre el orden de los segmentos del pipeline, consulta pipeline de agregación.

Un Autor de tablero de control especifica los campos que pueden incluirse en los prefiltros y filtros establecidos por el código de la aplicación adjunta o añadidos por los espectadores del tablero de control. Un autor de tablero puede limitar el acceso a los datos permitiendo solo que se filtren determinados campos. Por default, no se permite ningún campo, lo que significa que el tablero no puede filtrarse hasta que se permita explícitamente al menos un campo.

Para definir campos filtrables:

  1. Desde el Dashboards página, seleccione el tablero deseado. Para obtener instrucciones sobre cómo navegar a los Tableros, consulte Tableros.

  2. Para el tablero deseado, haga clic en el botón y seleccione Embed en el menú desplegable.

  3. En la sección Allowed filter fields, haga clic en el botón .

    Nota

    Esta opción solo aparece si ya tienes habilitado el acceso de inserción No autenticado o Autenticado.

    Puedes especificar en qué campos pueden filtrar los datos los espectadores del tablero:

    • Usando el menú desplegable para seleccionar los campos

    • Introducir manualmente valores para añadir campos que no aparezcan en el desplegable

    • Seleccionando Allow all fields in the data source used in this dashboard

  4. Cuando hayas seleccionado todos los campos deseados, haz clic en Save debajo del menú desplegable.

Tablero los espectadores y las aplicaciones que renderizan el tablero ahora pueden usar filtros basados en los campos especificados para mostrar subconjuntos de los datos originales del tablero. Si un espectador intenta utilizar un filtro para un campo que no está incluido en el En la lista de Campos de filtro permitidos, Atlas Charts devuelve un error.

Cuando agregue un campo a la lista Allowed filter fields cuyo valor sea un documento incrustado, también debe especificar cada subcampo individual que desea permitir.

Ejemplo

Considera el siguiente documento:

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

Si sólo añades el campo favorites a la lista de campos permitidos, no otorga permiso a los espectadores para filtrar cualquiera de los subcampos de favorites. En su lugar, puede añadir uno o más de los subcampos a la lista de forma individual especificando favorites.color, favorites.animal, o favorites.season.

Utiliza pre-filtros para gráficas y tableros incrustados con un gran número de colecciones. Los prefiltros se ejecutan en una etapa anterior de la pipeline de gráficos incrustados y le permiten lograr los siguientes resultados:

  • Filtra los datos de forma temprana para reducir el tiempo de ejecución de la query

  • Aplica filtros después de las vistas y antes de la ejecución de la query, y aplica filtros para queries que contienen agregaciones

Los pre-filtros se comportan exactamente igual que los filtros y utilizan la misma sintaxis. Su única diferencia radica en que se ejecutan después de las vistas y antes de que comiencen las consultas y los filtros. Para obtener más información sobre el orden de los segmentos de la pipeline, consulta la pipeline de agregación.

Utiliza el parámetro de query filter para mostrar únicamente los datos que coincidan con una especificada Filtro de MQL en su tablero incrustado en un iframe.

Solo se puede usar el parámetro de query filter en el tablero Unauthenticated. Con tableros que no requieren autenticación, el tablero Autor especifica los campos que pueden incluirse en los filtros establecidos por el código de aplicación de incrustación o agregados por los espectadores del tablero. Para aprender cómo especificar campos filtrables, consulta Especificar campos filtrables.

Puedes especificar un documento MQL como tu parámetro de consulta filter siempre y cuando los campos utilizados en tu filtro estén en la lista de campos filtrables permitidos.

Tu filtro debe coincidir con el formato utilizado en una $match query y ser uno de los siguientes:

  • Top level query

    Ejemplo

    { "quantity": { $gte: 20 } }
  • O dentro de expresiones booleanas ( $and, $nor, $or)

    Ejemplo

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

Nota

Debes codificar en URL los caracteres especiales del parámetro de filtro.

El siguiente iframe URL src muestra un tablero que sólo exhibe documentos con un imdb.rating mayor o igual a 8:

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

La URL utiliza un parámetro codificado filter de {"imdb.rating":%20{$gte:%208}}. Decodificado, este filtro es:

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

Puedes añadir un preFiltro a un tablero embebido con la opción preFilter. El prefiltrado permite al autor del tablero ejecutar un filtro antes de la ejecución de la query.

En el modal Embed, debes especificar los campos que quieres incluir en el pre-filtro. La modal Embed contiene un menú desplegable de campos sobre los que permitir el filtrado.

Lo siguiente usa la opción preFilter para representar solamente documentos en Australia:

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

Puedes añadir un filtro a un tablero incrustado con la opción filter. La aplicación de filtros permite al autor del tablero mostrar solo los datos en el tablero incrustado que coinciden con el filtro MQL especificado.

En la ventana emergente Embed, debes especificar los campos que deseas incluir en el filtro. El Embed modal contiene un menú desplegable de campos en los que permitir el filtrado.

El siguiente usa la opción filter para representar solo los documentos en los que el campo total es mayor que 100:

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

Cuando se incrusta un tablero que requiere acceso a Authenticated, puedes usar la configuración Injected function para inyectar un documento de filtro de MongoDB específico para cada usuario que vea el tablero. La función tiene acceso al token de su proveedor de autenticación de inteligencia artificial a través de context.token, y puede filtrar los datos del tablero según el token.

Este filtro garantiza que los espectadores de un tablero incrustado sólo vean sus propios datos, lo que resulta útil cuando se incrusta un tablero con información potencialmente confidencial.

Para inyectar un filtro específico para cada usuario, en la pestaña Authenticated del diálogo Embed, configure el Injected function`setting to :guilabel:`On. Especifique una función y haga clic en Save.

Ejemplo

La siguiente función de filtro solo muestra los datos en los que el campo ownerId de un documento coincide con el valor del campo sub del token del Proveedor de Autenticación de Embedding:

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

Volver

Configura el estilo y el tema del iframe

En esta página