Ao fazer o teste get /livros no Postman, o campo "autor" não aparece no resultado:
/models/Livro.js import mongoose from "mongoose";
const livroSchema = new mongoose.Schema( { id: { type: String }, titulo: { type: String, required: true }, autor: { type: mongoose.Schema.Types.ObjectId, ref: "autores", required: true }, editora: { type: String, required: true }, numeroPaginas: { type: Number }, }, );
const livros = mongoose.model("livros", livroSchema);
export default livros;
/models/Autor.js import mongoose from "mongoose";
const autorSchema = new mongoose.Schema( { id: { type: String}, nome: { type: String, require: [true, "Nome do autor(a) é obrigatório"]}, nacionalidade: {type: String} }, { versionKey: false } );
const autores = mongoose.model("autores", autorSchema);
export default autores;
/controllers/livrosControllers.js import livros from "../models/Livro.js";
class LivroController {
static listarLivros = async (req, res, next) => { try { const listaDeLivros = await livros.find({}).populate("autor").exec(); res.status(200).send(listaDeLivros); } catch (err) { next(err); } }; }
export default LivroController;