2
respostas

Para quem populou editora e não está conseguindo fazer a query

Criei um método para buscar a editora por nome em EditorasController.js

    static async buscarEditoraPorNome(nome) {
        return await editoras.findOne({'nome': nome});
    }

E no método para buscar livros por editora fiz assim

    static async buscaPorEditora(req, res) {
        const nomeEditora = req.query.editora;

        const editora = await EditorasController.buscarEditoraPorNome(nomeEditora);

        if (!editora) {
            res.status(404).json({ message: "Editora não encontrada" });
        } else {
            livros.find({'editora': editora._id})
            .populate('autor')
            .populate('editora')
            .exec((err, livros) => {
                res.status(200).json(livros);
            });
        }
    }

Lembrando que como está buscando é necessário aguardar para isso utilizei o async/await.

2 respostas

Boa noite Marcio, tudo bem?

estou com o mesmo problema :/

Opa Thiago, tenta aplicar da forma que fiz acima que provavelmente vai te ajudar. Na forma que fiz acima eu busco na tabela Editora pelo nome, pego o ID retornado e insiro na busca da tabela Livros, retornando assim livros por editora.