MongoDB Atlas Charts
Parent: MongoDB Atlas · researched 2026-05-28T15:34:29.830Z· 1 source · 11 concepts · skill mongodb-atlas-charts
Atlas Charts is MongoDB's built-in BI and data visualization layer, native to the Atlas platform. No separate cluster, ETL pipeline, or data warehouse needed — it queries Atlas collections directly.
1. Atlas Charts Overview
- Atlas Charts is MongoDB's built-in BI and data visualization layer, native to the Atlas platform. No separate cluster, ETL pipeline, or data warehouse needed - it queries Atlas collections directly. [source]
- Key characteristics: [source]
- No driver required; reads directly from the cluster via Atlas data-access path [source]
- Real-time queries - each chart load triggers a live aggregation query [source]
- No separate cluster: reads from the cluster you designate as a data source [source]
- Sub-100ms live refresh → Grafana + Atlas monitoring panels [source]
- Row-level security at query time → application-layer query API [source]
- Complex cross-cluster joins → Atlas Data Federation + dedicated BI tool [source]
- Streaming / CDC visualization → Charts is not designed for event-stream display [source]
3. Data Sources
- Direct cluster access: Add cluster → select database + collection → Charts auto-samples up to 1,000 documents for field discovery [source]
- Federated data sources: Atlas Data Federation can expose S3/Azure Blob/GCS/BigQuery. Federated queries are slower - avoid live-dashboard use cases requiring sub-second render times over S3-backed sources. [source]
4. Aggregation Pipeline in Charts
- Query bar: Accepts an MQL filter document applied as a $match stage [source]
- Encoding-driven aggregation: Charts automatically constructs a pipeline from your field selections [source]
- Custom pipelines: Write full pipeline JSON in Custom mode. Must emit documents where each top-level field maps to an encoding channel. [source]
5. Dashboard Features
- Filters: Dashboard-level filters apply across all charts sharing the same collection. Additive with chart-level query bar filters. [source]
- Chart alerts: Evaluate on each scheduled refresh (minimum 5 minutes on paid tiers). Notifications via email or webhook. [source]
- Sharing: Within-project sharing at Viewer or Author level, PDF/PNG export, embed (iframe or SDK), dashboard JSON export. [source]
Unauthenticated (public) embedding
- Generates a public embed URL. Suitable for public-facing dashboards with non-sensitive data. Always configure a restrictive base filter in embed settings. [source]
Authenticated SDK embedding (@mongodb-js/charts-embed-dom)
- Uses the Charts JavaScript SDK. Requires a backend-issued signed JWT. [source]
7. JWT-based Filter Security
8. Charts API (REST)
- Base URL: https://cloud.mongodb.com/api/atlas/v1.0/groups/{groupId}/charts/ [source]
- Authentication: Atlas programmatic API keys with Digest authentication. [source]
- Common operations: list/get/create/delete dashboards, list/get/update chart definitions. [source]
- Use cases: CI/CD version control of chart definitions, tenant provisioning (clone template dashboard via API), bulk updates. [source]
9. Access Control
- Atlas project Owners automatically receive Charts Admin. [source]
10. Anti-Patterns
- Unfiltered large collection queries: Always add a query bar filter. For time-series data, filter to last N days by default. [source]
- No caching for embedded charts: Use SDK's maxDataAge property to enable client-side result caching. [source]
- Missing filter security on multi-tenant embeds: Always use backend-signed JWT for tenant-scoped filters. [source]
- Charts as real-time operational dashboard: Charts is not designed for sub-100ms refresh. Use Grafana instead. [source]
- Too many data sources per dashboard: Consolidate related metrics into pre-aggregated summary collections. [source]
- Exposing sensitive fields through unauthenticated embeds: Configure restrictive base filter in embed settings. [source]
11. Cost Model
- Free tier: Unlimited dashboards for Atlas-authenticated users + monthly embedded render quota (historically 1,000 renders/month) [source]
- Paid embedded renders: Per-render rate above free quota. maxDataAge directly reduces billing. [source]
- No separate Charts cluster cost: Pay only for Atlas cluster + renders above free tier. [source]
- Federated source cost: Atlas Data Federation processing fees (per GB) apply. [source]
12. SDK Quick Reference
- Installation: npm install @mongodb-js/charts-embed-dom [source]
- SDK initialization checklist: [source]
- Configure embedding signing key in Atlas Charts project settings [source]
- Build backend endpoint issuing short-lived signed JWTs with mongodbFilter claims [source]
- Use getUserToken in SDK - never generate/hardcode signing key client-side [source]
- Set maxDataAge for data freshness/cost control [source]
- Subscribe to click events for drilldown navigation [source]
Children
- Chart Types (frontier)
- Data Sources (frontier)
- Aggregation Pipeline in Charts (frontier)
- Dashboards (frontier)
- Embedded Charts (frontier)
- Embedding SDK (frontier)
- Charts REST API (frontier)
- Access Control (frontier)
- Anti-Patterns (frontier)
- Cost Model (frontier)
- Quick Reference (frontier)
Frontier under this node: Access Control, Aggregation Pipeline in Charts, Anti-Patterns, Chart Types, Charts REST API, Cost Model, Dashboards, Data Sources, Embedded Charts, Embedding SDK, Quick Reference