Fluxo de Consulta

Diferencia o fluxo de entrada entre consultas gerais que começam em executeEntity/executeCustomClass e agregações raiz, Atlas Search, Vector Search.


1. Selecionar contexto de execução

executeEntity(Class<E>, key)

Escolha o tipo de entidade e a chave do resolvedor, e o nome da coleção é determinado por MongoExecutionContext#getCollectionName(...).

executeCustomClass(Class<E>, key, collectionName)

Especifique diretamente o tipo de mapeamento de resultados e o nome real da coleção.

2. Fluxo de consulta geral

text
executeEntity(...) / executeCustomClass(...)
  -> fields(...) / driverFilter(...)
  -> end()
  -> findAll / find / count / distinct / delete / exists / atomicUpdate
  -> execute...

Operações que não precisam de um construtor de condição, como save, saveAll, operações em massa, exclusão de entidade e createHistory, são chamadas diretamente no construtor de execução. Não há terminal público update() separado, e a atualização condicional usa atomicUpdate().

3. Fluxo com restrições na primeira etapa

agregação()

Desde a primeira etapa, o usuário configura diretamente o pipeline Bson do Driver.

buscar(index)

Construtor exclusivo do Atlas Search que respeita as restrições da primeira etapa $search/$searchMeta.

buscar-vetorial(index)

Construtor exclusivo do Vector Search que respeita as restrições da primeira etapa $vectorSearch.

4. Escape hatch nativo do Driver

• filtro geral: driverFilter(Bson)

• ordenação: SortSpec.driver(Bson)

• agregação raiz: aggregation().stage(Bson)

• Operador/opções de busca: operator(SearchOperator), driverOptions(...), stage(Bson)

• Consulta/vetores de opções: query(VectorSearchQuery), driverOptions(...), stage(Bson)

• opção do publicador: customizeQuery(...), customizeAggregation(...)

© 2026 Byeolnaerim. Todos os direitos reservados.IntroduçãoPolítica de Privacidade