Eu decidi por em pratica o que tinha aprendido até aqui (parei na aula 3 do curso) e tentei implementar algumas coisas por mim mesmo a query sendo um deles e apesar de ter tido sucesso fiquei em dúvida se não existe uma maneira diferente("mais correta") de implementação. Como ficou muito grande aqui está o github https://github.com/235471/BookStoreAPI no arquivo /src/controllers/bookController.js, o método é listBooksByQuery. Como comentei decidi por a mão na massa então posso não ter implementado da maneira mais adequada por isso gostaria de uma ajuda também utilizei um schema query config dessa maneira para o livro:
livroSchema.statics.queryConfig = {
titulo: 'regex',
lancamento: 'exact',
'autor.name': 'regex',
'autor.nationality': 'regex',
'editora.razaoSocial': 'regex',
'editora.nomeFantasia': 'regex',
'editora.cnpj': 'exact',
'editora.telefone': 'exact',
'editora.email': 'regex',
'editora.status': 'exact',
minPreco: 'exact',
maxPreco: 'exact',
minPaginas: 'exact',
maxPaginas: 'exact',
};