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
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(...)