私は投票アプリケーションを作りたい、私は投票と呼ばれるスキーマを持っています。 Pollスキーマの には「オプション」オブジェクトがあります。 idでoptions.voteを更新したいと思います。 私はどのようにPoll(id).options(id).voteを呼び出しますか?それはあなたがコールバックの中に入るマングース機能や投票で、poll.option
はポール・スキーマ・オブジェクトではありませんとあなたがpoll.options.findById
を使用することはできませんmongooseそしてmongodb findByIdオブジェクト内にオブジェクトを持っています
app.post("/:id/:option_id", function(req, res){
Poll.findById(req.params.id,function(err, poll){
if(err){
console.log("Vote(find the Poll) post err");
} else{
poll.options.findById(req.params.option_id,function(err,option){
if(err){
console.log("Vote(find the option) post err");
} else{
option.vote++;
option.vote.save(function(err){
if(err){
console.log("save vote error");
} else{
res.redirect("/:id/:option_id");
}
});
}});
}
'.findById()'は '.findOne({" _id ":id})'のエイリアス化されたショートカットであるため、 '.findOne()'が必要です。それがすべてです。あなたは何か他のものが必要な場合は、代わりに完全な方法を使用します。 –