req.query recebe o objeto com a query, exemplo:
http://localhost:3000/livros/busca?paginas=200 é igual a = { paginas: '200' }
http://localhost:3000/livros/busca?editora=Classicos&paginas=200 é igual a = { editora: 'Classicos', paginas: '200' }
Se nada for pasado, é um objeto vazio = {} onde retornará todos os livros sem parametro de consula.
basta passar o objeto para o find que ficará hibrido a consulta!
static async listarLivrosPorEditora(req, res) {
try {
const livrosPorEditora = await livro.find(req.query);
res.status(200).json(livrosPorEditora);
} catch (error) {
res.status(500).json({
message: `${error.message} - falha ao buscar livro por editora`,
});
}
}