MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Adicionar parâmetro de consulta opcional usando o repositório mongodb de dados de primavera


Você não pode fazer isso usando @Query . Outras alternativas possíveis são

  1. Crie dois métodos na classe Repository. Um que recebe apenas id e outro que recebe id e outros argumentos. E em sua classe de serviço, você pode decidir qual chamar com base nos dados em mãos. (Não escalável)

  2. Use QueryDsl. Com isso, você pode criar critérios de pesquisa com base nos dados que possui dinamicamente. Alguns links úteis
    https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#core.extensions.querydsl
    http://www.baeldung.com/queries-in -spring-data-mongodb
  3. Você pode usar Example . Aqui é o link para a documentação.(Isso tem algumas limitações)

Na minha experiência pessoal, o uso do QueryDsl é a melhor maneira de lidar com esses casos e pode ser facilmente estendido para outras alterações nos requisitos.