为了账号安全,请及时绑定邮箱和手机立即绑定

Cannot read property 'reply' of null

Comment.findById(_comment.cid,function (err,comment) {
       var reply={
           from:_comment.from,
           to:_comment.tid,//点这个头像的人要回复给他
           content:_comment.content
       }
       console.log(_comment.from);
       console.log(_comment.tid);
       console.log(_comment.content);
       console.log(comment+"77777777777");
       comment.reply.push(reply);
       comment.save(function (err,comment) {//
           if(err){
               console.log(err)
           }
           res.redirect("/movie/"+movieId)
       })
   })

Cannot read property 'reply' of null,一直显示这个错误 console.log(comment+"77777777777");这个comment一直为null,那个大神请教一下

正在回答

2 回答

当前cid在数据库中查询的结果为null,null没有方法,所以.reply报错。

这段代码我感觉有问题。findbyId应该用comment表的顶层_id做参数查询我觉得。

0 回复 有任何疑惑可以回复我~

if (!!_comment.cid) {

        Comment.findById(_comment.cid, function(err, comment) {

            var reply = {

                from: _comment.from,

                to: _comment.tid,

                content: _comment.content

            }

            // comment.reply.push(reply)

            // $addToSet: 不允许重复; $push: 可以重复

            comment.update({$addToSet: {reply: reply}}, function(err, comment) {

                if (err) {

                    console.log(err)

                }

                console.log('@@@@' + comment)

                res.redirect('/movie/' + movieId)

            })

        })

    } else {

        var comment = new Comment(_comment)


        comment.save(function(err, comment) {

            if (err) {

                console.log(err)

            }

            res.redirect('/movie/' + movieId)

        })

    }

新版的MongoDB在需要往数组中添加数据时,使用push方法会报$pushAll错误。要使用$push或者是$addToSet来实现,两者的区别是$push可以重复,而$addToSet不能重复。

0 回复 有任何疑惑可以回复我~
#1

jly啊啊

这个没用啊 提示说update undefined
2018-01-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
node建站攻略(二期)——网站升级
  • 参与学习       51940    人
  • 解答问题       408    个

帮助你深入前后端开发留下的迷惑,为进一步自学打下基础

进入课程

Cannot read property 'reply' of null

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信