sql >> Database teknologi >  >> NoSQL >> MongoDB

Tilføj valgfri forespørgselsparameter ved hjælp af spring data mongodb repository

Du kan ikke opnå dette ved at bruge @Query . Andre mulige alternativer er

  1. Opret to metoder i klassen Repository. En som kun tager id og en anden som tager id og andre argumenter. Og i din serviceklasse kan du bestemme, hvilken du skal ringe til, baseret på de data, du har. (Ikke skalerbar)

  2. Brug QueryDsl. Hermed kan du oprette søgekriterier baseret på data du har dynamisk. Nogle nyttige links
    https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#core.extensions.querydsl
    http://www.baeldung.com/queries-in -spring-data-mongodb

  3. Du kan bruge Example . Her er linket til dokumentation.(Dette har nogle begrænsninger)

Efter min personlige erfaring er QueryDsl den bedste måde at tackle disse sager på, og den kan nemt udvides til yderligere ændringer i kravet.




  1. flette flere dokumenter til ét dokument med begge dokumentfelter i MongoDB

  2. Mongoose/Mongodb:Ekskluder felter fra udfyldte forespørgselsdata

  3. Postmand socket hang up kunne ikke oprette forbindelse til Mongodb

  4. Virker `$eq`-operatoren med array dot notation?