Node.js mongoose静态函数“realization.fetchTotalPointsParchild”不是一个函数
我想从一个模型的聚合函数中得到一些结果,但我得到的错误如下: realization.FetchTotalPointsArchild不是函数 这是我的档案: 这是我的模式:realization.js 这是我的路由器:realizationRouter.js 我尝试过改变,比如将静态替换为方法或实例,但对我来说,更合理的是静态,但我总是会遇到同样的错误。请有人知道我错过了什么Node.js mongoose静态函数“realization.fetchTotalPointsParchild”不是一个函数,node.js,mongoose-schema,Node.js,Mongoose Schema,我想从一个模型的聚合函数中得到一些结果,但我得到的错误如下: realization.FetchTotalPointsArchild不是函数 这是我的档案: 这是我的模式:realization.js 这是我的路由器:realizationRouter.js 我尝试过改变,比如将静态替换为方法或实例,但对我来说,更合理的是静态,但我总是会遇到同样的错误。请有人知道我错过了什么 if(realization) { realization.fetchTotalPointsPerChild((e
if(realization) {
realization.fetchTotalPointsPerChild((err, result) => {
if(err){
next(err);
}
res.statusCode = 200;
res.setHeader('Content-Type', 'application/json');
res.json(result);
})
我认为你对实现变量感到困惑。实现变量是查询的结果。返回的不是您的模型,因此没有函数。静态可以直接用于您的模型,因此实现。FetchTotalPointsArchild
const express = require('express');
const bodyParser = require('body-parser');
const Realization = require('../models/realization');
const realizationRouter = express.Router();
realizationRouter.use(bodyParser.json());
realizationRouter.route('/:childId/actions/totalPoints')
.get((req, res, next) => {
Realization.findOne({child: req.params.childId})
.populate('goals')
.populate('penalty')
.then(realization => {
if(realization) {
realization.fetchTotalPointsPerChild((err, result) => {
if(err){
next(err);
}
res.statusCode = 200;
res.setHeader('Content-Type', 'application/json');
res.json(result);
})
} else {
res.statusCode = 200;
res.setHeader('Content-Type', 'application/json');
res.json(`There is no action to show from this child ${req.params.childId}`);
}
})
.catch(err => next(err));
});
if(realization) {
realization.fetchTotalPointsPerChild((err, result) => {
if(err){
next(err);
}
res.statusCode = 200;
res.setHeader('Content-Type', 'application/json');
res.json(result);
})