Menu Docs
Página inicial do Docs
/ /

Assistente inteligente no Data Explorer

O assistente inteligente é uma ferramenta alimentada por IA projetada para suporte ao desenvolvimento integrado do MongoDB no Data Explorer. Ela fornece resposta a perguntas de linguagem natural, ajuda na depuração de erros e fornece orientação para otimização do desempenho.

Para usar o assistente inteligente no Data Explorer, primeiro ative os recursos de IA nas configurações.

No nível organizacional:

1
  1. Se ainda não estiver exibido, selecione sua organização desejada no Menu Organizations na barra de navegação.

  2. Na barra lateral, clique em Organization Settings.

É exibida a página Configurações da organização.

2

No nível do projeto :

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Na barra lateral, clique em Project Settings.

A página Configurações do projeto é exibida.

2

Defina a alternância Enable Data Explorer Generative AI Features para on.

3

Para obter mais informações sobre o uso de IA generativa no Data Explorer, consulte:

  • Informações sobre IA e uso de dados

  • Perguntas frequentes sobre os recursos de IA generativa do MongoDB

Para acessar o assistente inteligente:

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.

  3. Na barra lateral, clique em Data Explorer sob o título Database.

    O Data Explorer é exibido.

Página do Data Explorer com Gaveta de IA recolhida
clique para ampliar

figura 1. Página inicial do Data Explorer com o assistente recolhido.

Data ExplorerPage com Gaveta de IA aberta
clique para ampliar

figura 2. A página inicial do Data Explorer com o assistente expandido.

As ferramentas somente para leitura no assistente do Data Explorer obtêm contexto de sua tarefa atual ou executam operações de banco de dados em seu sistema MongoDB conectado com aprovação humana. Ao contrário das respostas de conversação, essas ferramentas podem realizar queries de banco de dados reais e retornar dados ativos do seu banco de dados.

As ferramentas assistentes exibem as seguintes características principais:

  • Somente leitura: as ferramentas não podem modificar, inserir, atualizar ou excluir dados.

  • Aprovado pelo usuário: a execução de cada ferramenta requer a confirmação explícita do usuário.

  • Contextual: o assistente leva em conta seu banco de dados, coleção e conexão atuais ao decidir chamar ferramentas.

  • Dados em tempo real: os resultados vêm da sua implementação conectada do MongoDB em tempo real.

As ferramentas a seguir buscam conteúdo sensível para os usuários e exigem confirmação. Essas ferramentas não interagem com o banco de dados, mas exigem a confirmação do usuário antes do uso:

Nome da Ferramenta do Data Explorer
Descrição

get-current-query

Extrai parâmetros de query ativos do MongoDB da barra de query

get-current-pipeline

Extrai o pipeline de agregação ativo do construtor de agregação

Nome da Ferramenta de Banco de Dados
Descrição

list-databases

Exibe todos os bancos de dados disponíveis em sua implantação do MongoDB com seus tamanhos de armazenamento.

list-collections

Mostra todas as collections em um banco de dados específico .

find

Recupera documentos reais de uma coleção que correspondam a critérios de pesquisa específicos.

count

Retorna rapidamente o número total de documentos em uma coleção sem recuperar os próprios documentos.

aggregate

Executa operações complexas de processamento de dados, como agrupamento, filtragem, transformação e cálculo de estatísticas em documentos.

collection-indexes

Lista todos os índices definidos em uma collection.

collection-schema

Analisa uma collection para revelar a estrutura de documentos, incluindo nomes de campo e tipos de dados.

collection-storage-size

Relata o espaço em disco físico ocupado por uma collection, incluindo dados e índices.

db-stats

Fornece uma visão geral abrangente da integridade do banco de dados , incluindo contagens de collection, totais de documento , uso de armazenamento e estatísticas de índice.

mongodb-logs

Recupera registros recentes do servidor para solução de problemas, monitoramento do desempenho e auditoria de segurança.

explain

Mostra o plano de execução da query detalhado e as estatísticas de desempenho, revelando como o MongoDB processa uma query e se ela usa índices.

Observação

Os estágios agregação pipeline $out e $merge não são suportados na chamada de ferramentas porque executam operações de escrita. O assistente oferece suporte apenas a ferramentas somente leitura.

1

As ferramentas estão habilitadas por padrão, mas você pode ativá-las ou desativá-las usando o botão Tools na barra de entrada.

2

Verifique se você tem uma conexão ativa e está visualizando a página relevante. Para fazer uma pergunta, você deve estar em uma aba relacionada à sua conexão ativa.

3

Envie um prompt consultando seus dados, por exemplo: "Listar todos os bancos de dados".

4

O assistente detecta sua intenção e exibe um cartão de ferramenta em um estado pendente. Esta lista enumera os possíveis elementos que o cartão de ferramentas pode mostrar:

  • Operação do nome da ferramenta

  • Sistema (host/endpoint)

  • Banco de dados e collection sendo consultados

  • Quaisquer parâmetros ou filtros

  • Run e Cancel botões

Para o exemplo acima, o cartão de ferramenta mostra para "bancos de dados de lista".

5
6

Resultado do exemplo:

Here are the databases found on your MongoDB deployment:
- sample_mflix (Size: 183,685,120 bytes)
- admin (Size: 364,544 bytes)
- local (Size: 21,907,722,240 bytes)
If you want details about collections in any of these databases,
just let me know!

Os cenários a seguir mostram vários usos do assistente inteligente no Data Explorer.

peça ao assistente inteligente para analisar a saída de sua consulta do MongoDB Compass :

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?

Os exemplos seguintes demonstram perguntas que você pode fazer ao assistente inteligente sobre funções e query do Data Explorer.

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"
}
}
]
}
}
}

Voltar

Agregação de solicitação

Nesta página