Estoy tratando de obtener la lista de libros de la base de datos. Inserté los datos en la brújula de mangosta. Solo obtengo una matriz vacía.
//Model File import mongoose from "mongoose"; const bookSchema = mongoose.Schema({ title: { type: String, required: true, }, description: { type: String, required: true, }, releasedDate: { type: String, required: true, }, }); const Book = mongoose.model("Book", bookSchema); export default Book; //Routes file import express from "express"; import Book from "./bookModel.js"; const router = express.Router(); router.get("/", async (req, res) => { const books = await Book.find({}); res.status(200).json(books); });asegúrese de tener datos de libros en db. Si está allí, intente agregar y capturar bloques en su código. Entonces sabrás cuál es el error.
await Book.find({}) .then((data) =>{ res.send(data) }) .catch((err) =>{ res.send(err) })Cuando cree su modelo, cambie mongoose.model por un new Schema y declare el atributo _id como:
var mongoose = require('mongoose'); var Schema = mongoose.Schema; const Book = new Schema({ _id: { type: Schema.ObjectId, auto: true }, // other attributes }) Actualización: si no parece funcionar, intente cambiar _id con otros nombres como bookID o id , ese puede ser el error, lea https://github.com/Automattic/mongoose/issues/1285