我定义了一个控制器,其代码如下:
const paymentModel = require("../../models/University");
class PaymentController {
async getPaymentList(req , res){
const list = await paymentModel.find()
.select("amount description payDate payId" ).limit(20);
res.send(list);
}
路由器如下:
const router = require ("express").Router();
const controller = require("../http/controller/PaymentController");
router.get('/' ,controller.getPaymentList);
module.exports= router;
模型 :
const mongoose = require ("mongoose");
const schemaPay = new mongoose.Schema({
payId :{type:Number, required: true},
amount :{type :String , required: true},
description :{type :String , required:true},
courseId:[schemaCourse] ,
studentId:[schemaStudent],
payDate :String ,
});
const paymentModel= mongoose.model('StudentPayments' , schemaPay);
module.exports={paymentModel };
当我用邮递员测试 api 时,我收到错误:paymentModel.find 不是一个函数,有人可以帮我解决问题吗?
对于您的模型,您正在导出一个包含键 paymentModel 的对象。
为了从该对象内部访问 paymentModel,您必须执行以下操作之一:
const {paymentModel} = require("../../models/University");
或者
const UniversityModel = require("../../models/University"); //then access paymentModel like UniversityModel.paymentModel
如果您不想这样做,您也可以只导出一个特定模型,但是您说您有多个导出,所以是的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句