gpt4 book ai didi

javascript - 类型错误 : Cannot read property 'upvote' of undefined in mean stack

转载 作者:行者123 更新时间:2023-11-30 06:52:55 25 4
gpt4 key购买 nike

我正在为我的应用程序使用 MEAN 堆栈,我在我的应用程序中为每个问题都有一个投票部分,试图投票一个问题说 TypeError: Cannot read property 'upvote' of undefined。我的路线文件是这样的:

路由.js

app.put('/api/questions/:id/upvote', questions.upvoteQuestion);

Question.js(模型)

var questionSchema = mongoose.Schema({
question: {type:String, required:'{PATH} is required!'},
category: [String],
upvotes: {type: Number, default: 0},
comments: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Comment' }],
author: String
});

questionSchema.methods.upvote = function(cb) {
this.upvotes += 1;
this.save(cb);
};

questions.js( Controller )

exports.upvoteQuestion = function(req, res, next) {
req.question.upvote(function(err, question){
if (err) { return next(err); }
res.json(question);
});
};

不太确定是什么错误。

最佳答案

如果将问题更改为:

question: {type:String, required:'{PATH} is required!', upvotes: {type: Number, default: 0}}

你可以引用它: req.question.upvote

然后把upvote方法的第二行改成这样:

questionSchema.methods.upvote = function(cb) {
this.question.upvotes += 1;
this.save(cb);
};

正如现在所定义的那样,upvotes 是 questionSchema 的一个属性,如果这是您的目标,则不能将其称为问题的属性。

不过,我还没有使用过 mongoose。

关于javascript - 类型错误 : Cannot read property 'upvote' of undefined in mean stack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30418242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com