MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Ajouter un paramètre de requête facultatif à l'aide du référentiel Spring Data Mongodb

Vous ne pouvez pas y parvenir en utilisant @Query . Les autres alternatives possibles sont

  1. Créez deux méthodes dans la classe Repository. L'un qui ne prend que id et l'autre qui prend id et d'autres arguments. Et dans votre classe de service, vous pouvez décider laquelle appeler en fonction des données dont vous disposez. (Non évolutif)

  2. Utilisez QueryDsl. Avec cela, vous pouvez créer des critères de recherche basés sur les données dont vous disposez de manière dynamique. Quelques liens utiles
    https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#core.extensions.querydsl
    http://www.baeldung.com/queries-in -spring-data-mongodb

  3. Vous pouvez utiliser Example . ici est le lien vers la documentation.(Ceci a quelques limitations)

D'après mon expérience personnelle, l'utilisation de QueryDsl est le meilleur moyen de résoudre ces cas et il peut être facilement étendu pour d'autres changements d'exigence.