Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Solução para o populate em autores "quebrou"a busca de livros

A solução dada pelo professor para corrigir a rota de autores com a paginação foi para simplesmente remover o populate da função de paginação. Porém, se aplicarmos essa solução e tentarmos buscar livros novamente, o autor não é populado.

O correto não seria o professor ensinar uma condição ao invés de simplesmente mandar remover o populate?

Não sei se comi bola em algo, porém ficou um pouco sem sentido pra mim.

De forma rápida essa foi a solução que encontrei, mas seria interessante saber se existe alguma mais prática.

Tentei descobrir se a rota acessada era de livros, e apliquei uma condição:

const livrosReq = req.originalUrl.includes("livros");

if (limit > 0 && page > 0) {

    let resultPaginated;

    if (livrosReq) {

        resultPaginated = await result.find()
            .sort({ [fieldToOrder]: order, })
            .skip((page - 1) * limit)
            .limit(limit)
            .populate("autor")
            .populate("editora");

    } else {

        resultPaginated = await result.find()
            .sort({ [fieldToOrder]: order, })
            .skip((page - 1) * limit)
            .limit(limit);

    }

    res.status(200).json(resultPaginated);

}

Professor, se possível, me de um norte com isso. Fora isso, a didática do curso está ótima! Achei bem explicativo. ;)

1 resposta
solução!

Poxa, na lição seguinte o professor explica sobre o autopopulate --" não consegui excluir o post. Mas acredito que não há mais duvidas. Por mim está fechado.