The intelligent assistant is an AI-powered tool designed for integrated MongoDB development support in Data Explorer. It answers natural language questions, assists with debugging errors, and provides guidance for performance optimization.
Enable AI Features
To use the intelligent assistant in Data Explorer, first enable AI features in settings.
At the organizational level:
In Atlas, go to the Organization Settings page.
If it's not already displayed, select your desired organization from the Organizations menu in the navigation bar.
In the sidebar, click Organization Settings.
The Organization Settings page displays.
At the project level:
In Atlas, go to the Project Settings page.
If it's not already displayed, select the organization that contains your desired project from the Organizations menu in the navigation bar.
If it's not already displayed, select your desired project from the Projects menu in the navigation bar.
In the sidebar, click Project Settings.
The Project Settings page displays.
Access the Intelligent Assistant
To access the intelligent assistant:
In Atlas, go to the Data Explorer page for your project.
If it's not already displayed, select the organization that contains your project from the Organizations menu in the navigation bar.
If it's not already displayed, select your project from the Projects menu in the navigation bar.
In the sidebar, click Data Explorer under the Database heading.
The Data Explorer displays.

Figure 1. Data Explorer home page with the assistant collapsed.

Figure 2. The Data Explorer home page with the assistant expanded.
Read-Only Tools
Read-only tools in the Data Explorer's assistant fetch context from your current task or execute database operations against your connected MongoDB deployment with human approval. Unlike conversational responses, these tools may perform actual database queries and return live data from your database.
Assistant tools exhibit the following key characteristics:
Read-only: Tools cannot modify, insert, update, or delete data.
User-approved: Every tool execution requires explicit user confirmation.
Contextual: The assistant accounts for your current database, collection, and connection when deciding to call tools.
Live data: Results come from your connected MongoDB deployment in real-time.
Data Explorer Tools
The following tools fetch sensitive content for users and require confirmation. These tools do not interact with the database, but require user confirmation before use:
Data Explorer Tool Name | Description |
|---|---|
| Extracts active MongoDB query parameters from the query bar |
| Extracts active aggregation pipeline from the aggregation builder |
Database Tools
Database Tool Name | Description |
|---|---|
| Displays all databases available in your MongoDB deployment with their storage sizes. |
| Shows all collections within a specific database. |
| Retrieves actual documents from a collection that match specific search criteria. |
| Quickly returns the total number of documents in a collection without retrieving the documents themselves. |
| Performs complex data processing operations like grouping, filtering, transforming, and calculating statstics across documents. |
| Lists all indexes defined on a collection. |
| Analyzes a collection to reveal the structure of documents, including field names and data types. |
| Reports the physical disk space occupied by a collection, including both data and indexes. |
| Provides a comprehensive overview of database health, including collection counts, document totals, storage usage, and index statistics. |
| Retrieves recent server logs for troubleshooting, performance monitoring, and security auditing. |
| Shows the detailed query execution plan and performance statistics, revealing how MongoDB processes a query and whether it uses indexes. |
Note
The aggregation pipeline stages $out and $merge are not supported in
tool calling because they perform write operations. The assistant only
supports read-only tools.
Example Flow
Review the Tool Card
The assistant detects your intent and displays a tool card in a pending state. This list enumerates the possible elements that the tool card can show:
Tool name operation
Deployment (host/endpoint)
Database and collection being queried
Any parameters or filters
Run and Cancel buttons
For the above example, the tool card shows for "list-databases".
Examples
The following scenarios show several uses of the intelligent assistant in Data Explorer.
Explain Plan
Ask the intelligent assistant to analyze the output of your MongoDB Compass query:
Interpret this explain plan for me.
## Summary - **Query Logic:** This pipeline counts the number of Italian restaurants in Manhattan by first filtering documents and then aggregating the count. - **Performance:** Fair - **Recommendations:** Create a compound index on `{ borough: 1, cuisine: 1 }` to optimize document retrieval. ## Details ### Query Logic 1. `$match`: Filters documents where `borough` is "Manhattan" and `cuisine` is "Italian". 2. `$count`: Counts the number of documents matching the filter and outputs the total. ### Performance Analysis - The winning plan uses an index scan on the `cuisine` field (`cuisine_1`) and applies an in-memory filter for `borough` ("Manhattan"). - Both `totalKeysExamined` and `totalDocsExamined` are high (43,207), which implies that every document with `cuisine: "Italian"` is examined and then filtered by `borough`. - No compound index exists, meaning MongoDB cannot efficiently combine both filter criteria in a single index lookup. - The pipeline does properly filter before counting, but index usage is only partial, causing increased resource usage. ### Recommendations - Create a compound index on `{ borough: 1, cuisine: 1 }` to allow MongoDB to retrieve documents matching both criteria directly from the index, minimizing documents examined. - This optimization will reduce execution time and system load without changing the output of your aggregation pipeline. Below is the recommended Aggregation Pipeline. This optimized Aggregation Pipeline will leverage the compound index to scan fewer documents, as both filter criteria are present in the index. ```json [ { "$match": { "borough": "Manhattan", "cuisine": "Italian" } }, { "$count": "totalItalianRestaurants" } ] ``` ### Follow-Up Questions 1. How do I create a compound index in MongoDB Compass or via a shell command? 2. What other fields should I consider adding to my indexes for restaurant lookups? 3. How can I further optimize aggregations when working with larger datasets?
User questions
The following examples demonstrate questions you can ask the intelligent assistant about Data Explorer functions and queries.
How is MongoDB data modeling different from data modeling with a relational database?
MongoDB data modeling differs from relational database (RDBMS) data modeling in some important ways: 1. Document-Oriented vs. Table-Oriented - MongoDB stores data as flexible, hierarchical JSON-like documents. - Relational databases use tables with fixed schemas and columns. 2. Schema Flexibility - In MongoDB, collections can contain documents with different structures. Schema enforcement is optional. - RDBMS tables have a strict schema that enforces data types and relationships. 3. Embedding vs. Normalization - MongoDB encourages embedding related data inside documents when appropriate (denormalization). Example: An order document may include an array of items directly inside it. - Relational databases emphasize normalization—splitting data across tables connected by foreign keys. 4. Relationships - MongoDB does support references between documents (similar to foreign keys), but joins are less central and not as efficient as in RDBMS. - RDBMSs use normalized data and JOIN operations to relate tables efficiently. 5. Performance & Scaling - MongoDB’s data model enables horizontal scaling (sharding), making it well-suited for large, distributed datasets. - RDBMS scaling typically relies on vertical scaling or complex clustering; JOINs can become expensive as data grows. 6. Use Cases and Design Philosophy - MongoDB models are often designed to optimize common query patterns, reducing the need for joins and complex queries. - RDBMS models are designed for transactional consistency and for representing organized, well-structured relationships. In summary, MongoDB encourages a more flexible, application-driven approach to modeling, while relational databases rely on rigid schemas and normalized relationships. Compass provides tools to visually explore your document structures and relationships, which can be especially helpful as your model evolves.
How can I combine multiple conditions in a single $search query?
To combine multiple conditions in a single $search query in MongoDB Atlas Search (including Compass), you should use the compound operator. The compound operator allows you to specify multiple criteria using must, mustNot, filter, and should clauses. Example: Combine Multiple Conditions Suppose you want to: - Match documents where the plot field contains "baseball" - Exclude documents where the genres field contains "Comedy" or "Romance" Your $search stage would look like this: { "$search": { "compound": { "must": [ { "text": { "query": "baseball", "path": "plot" } } ], "mustNot": [ { "text": { "query": ["Comedy", "Romance"], "path": "genres" } } ] } } }