Soy completamente nuevo en el nodo y sus marcos Koa y express. Tengo un modelo de mangosta llamado Dibujo y un módulo de enrutador para eso.
El problema es que con los enrutadores express pude obtener los datos de la base de datos usando el método Drawing.find pero con Koa, el control ni siquiera entra en Drawing.find. Y no soy capaz de obtener los datos en absoluto. Encuentre el siguiente código relacionado y ayúdeme a entender mejor las cosas.
Este es mi módulo de enrutador
import * as Router from "koa-router"; import Drawing from "../../models/drawing"; function getRoutesForDrawing(): Router { console.log("Inside getRoutes for drawing"); let route = new Router(); route.get("/drawing", function(context,next) { console.log("Inside /drawing"); Drawing.find(function(err,drawings) { console.log("Not gettig executed"); context.body = "Welcome"; }); //context.body = "Welcome"; }); } export default getRoutesForDrawing();Y el modelo es
import mongoose = require("mongoose"); export interface IDrawing extends mongoose.Document { drawingId:Number, drawingName:String, updatedOn:Date, updatedBy:Number }; export const DrawingSchema = new mongoose.Schema({ drawingId:Number, drawingName:String, updatedOn:Date, updatedBy:Number }); const Drawing = mongoose.model<IDrawing>('Drawing', DrawingSchema); export default Drawing;Como puede ver en el módulo de mi enrutador, el control en realidad viene para /drawing y está imprimiendo en la consola "Dentro de /drawing", pero luego el control no llega a Drawing.find. Me está costando entender esto.
Es un poco difícil averiguar qué está pasando porque parece que tienes problemas por todas partes. Permítanme señalar las cosas que se destacan:
getRoutesForDrawing se declara para devolver un enrutador y no devuelve nadarouter.get('/drawing', async(context) => {...});context.body = await Drawing.find({})