Javascript 卡在:无法读取属性';推动';未定义的

Javascript 卡在:无法读取属性';推动';未定义的,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,这是我的第一个项目,也是我的第一篇文章。 我正在创建一个用于朋友之间的博彩网站,我遇到了一个错误:无法读取未定义的属性“push” 我想这是一件小事,让它再次发挥作用 有什么建议吗 router.post("/bets", function(req, res){ var betHome = req.body.betHome; var betAway = req.body.betAway; var matchid= "5e84bd729511b98c34101a9e"

这是我的第一个项目,也是我的第一篇文章。 我正在创建一个用于朋友之间的博彩网站,我遇到了一个错误:无法读取未定义的属性“push”

我想这是一件小事,让它再次发挥作用

有什么建议吗

router.post("/bets", function(req, res){
    var betHome = req.body.betHome;
    var betAway = req.body.betAway;
    var matchid= "5e84bd729511b98c34101a9e"
    var author = {
        id: req.user._id,
        username: req.user.username
    }
    var newBet = {bet:[betHome,betAway],author:author, matchid:matchid}
    Bet.create(newBet, function (err, newlyCreated){
        if(err){
            console.log(err);
        } else {
            Match.betsList.push(newBet)
           res.redirect("/bets");
           console.log(newBet)

        }
        })
})

module.exports = router;


您不能直接推入模型—首先创建匹配模型的对象,然后推入

   router.post("/bets", function(req, res){
    var betHome = req.body.betHome;
    var betAway = req.body.betAway;
    var matchid= "5e84bd729511b98c34101a9e"
    var author = {
        id: req.user._id,
        username: req.user.username
    }
    var newBet = {bet:[betHome,betAway],author:author, matchid:matchid}
    Bet.create(newBet, function (err, newlyCreated){
        if(err){
            console.log(err);
        } else {
         var match = new Match({});  // new Schema
            match.betsList.push(newlyCreated._id)
           res.redirect("/bets");
           console.log(newBet)

        }
        })
})

module.exports = router;

不能直接推入模型首先创建匹配模型的对象,然后推入

   router.post("/bets", function(req, res){
    var betHome = req.body.betHome;
    var betAway = req.body.betAway;
    var matchid= "5e84bd729511b98c34101a9e"
    var author = {
        id: req.user._id,
        username: req.user.username
    }
    var newBet = {bet:[betHome,betAway],author:author, matchid:matchid}
    Bet.create(newBet, function (err, newlyCreated){
        if(err){
            console.log(err);
        } else {
         var match = new Match({});  // new Schema
            match.betsList.push(newlyCreated._id)
           res.redirect("/bets");
           console.log(newBet)

        }
        })
})

module.exports = router;

Match.betsList
是否
未定义
如何定义?我在模型var express=require(“express”)的顶部提到它;var router=express.router();var Match=需要(“../models/Match”);var Bet=需要(“../models/Bet”);与我们分享../models/match文件中的内容,特别是
betsList
,您无法直接推送到模型中。首先,创建一个对象,然后推送。模特的新匹配({})照片没有实现对不起。谢谢你的回答<代码>匹配。投注列表是否未定义如何定义?我在模型var express=require(“express”)的顶部提到它;var router=express.router();var Match=需要(“../models/Match”);var Bet=需要(“../models/Bet”);与我们分享../models/match文件中的内容,特别是
betsList
,您无法直接推送到模型中。首先,创建一个对象,然后推送。模特的新匹配({})照片没有实现对不起。谢谢你的回答。Thx,看起来不错。看来有用。我得详细检查一下。非常感谢您。newBet.\u id未定义,我想我必须先保存它,但如果我尝试newBet.save()或Bet.save(newBet),我会得到Bet.save()不是一个函数,我想它应该是新创建的。\u idThx,看起来不错。看来有用。我得详细检查一下。非常感谢您。newBet.\u id未定义,我想我必须先保存它,但如果我尝试newBet.save()或Bet.save(newBet),我会得到Bet.save()不是一个函数,我想它应该是新创建的。\u id