Eu não entendi o porque do uso do "_doc". Ele é um objeto do mongoose ? Será sempre necessário usá-lo ?
Eu não entendi o porque do uso do "_doc". Ele é um objeto do mongoose ? Será sempre necessário usá-lo ?
Oi Eduardo! Como vai?
O _doc
é uma propriedade interna que o Mongoose utiliza para armazenar os dados reais de um documento que vem do banco de dados. Quando você faz uma consulta no MongoDB usando o Mongoose, o resultado que você recebe é um objeto Mongoose que contém metadados e métodos para manipulação de documentos, além dos dados do documento em si.
O _doc
é a parte do objeto que contém apenas os dados do documento, sem os métodos e metadados adicionais que o Mongoose adiciona. Quando você deseja trabalhar apenas com os dados puros do documento, sem as funcionalidades extras do Mongoose, você pode acessar o _doc
.
Por exemplo, ao usar o operador de propagação (spread operator) para combinar objetos, você pode querer acessar apenas os dados do documento. Então, você faria algo como:
const livroCompleto = { ...novoLivro, autor: { ...autorEncontrado._doc }};
Nesse caso, estamos combinando os dados do novoLivro
com os dados do autorEncontrado
, mas apenas a parte dos dados reais, que está dentro do _doc
.
Não é sempre necessário usar o _doc
, mas ele é útil quando você precisa garantir que está lidando apenas com os dados do documento, sem as funcionalidades extras que o Mongoose adiciona.
Espero ter ajudado e bons estudos!