Flux de requête
Distingue le flux d'entrée des requêtes générales commençant par executeEntity/executeCustomClass et l'agrégation racine, la recherche Atlas, la recherche vectorielle.
1. Sélectionner le contexte d'exécution
executeEntity(Class<E>, key)
Sélectionnez le type d'entité et la clé de résolveur, le nom de la collection est déterminé par MongoExecutionContext#getCollectionName(...).
executeCustomClass(Class<E>, key, collectionName)
Spécifiez directement le type de mappage des résultats et le nom réel de la collection.
2. Flux de requête général
Les opérations comme save, saveAll, les opérations en masse, la suppression d'entité et createHistory qui n'ont pas besoin de constructeur de condition sont appelées directement dans le constructeur d'exécution. Il n'y a pas de terminal public update() séparé, et la mise à jour conditionnelle utilise atomicUpdate().
3. Flux avec des contraintes de première étape.
agrégation()
Dès la première étape, l'utilisateur construit directement le pipeline Bson du Driver.
recherche(index)
Constructeur dédié à la recherche Atlas respectant les contraintes de première étape $search/$searchMeta.
rechercheVectorielle(index)
Constructeur dédié à la recherche vectorielle respectant les contraintes de première étape $vectorSearch.
4. Échappatoire native du Driver
• Filtre général : driverFilter(Bson)
• Tri : SortSpec.driver(Bson)
• agrégation racine : aggregation().stage(Bson)
• Opérateur/options de recherche : operator(SearchOperator), driverOptions(...), stage(Bson)
• Requête/options vectorielles : query(VectorSearchQuery), driverOptions(...), stage(Bson)
• option éditeur : customizeQuery(...), customizeAggregation(...)