nodejs向mongodb中插入数据报错Unknownmodifier:$pushAllschemasvarCommentSchema=newmongoose.Schema({movie:{type:ObjectId,ref:"Movie"},from:{type:ObjectId,ref:"User"},reply:[{from:{type:ObjectId,ref:"User"},to:{type:ObjectId,ref:"User"},content:String}],content:String,meta:{createAt:{type:Date,default:Date.now()},updateAt:{type:Date,default:Date.now()}}})controllersif(_comment.cid){Comment.findById(_comment.cid,function(err,comment){console.log(comment)varreply={from:_comment.from,to:_comment.tid,content:_comment.content}//console.log(commentinstanceofArray);//falsecomment.reply.push(reply);comment.save(function(err,movie){if(err){//console.log('abc')console.log(err);}res.redirect('/movie/'+movieId);})})}这是一个评论模块,if中实现的逻辑是对当前的评论进行回复,save直接抛出错误Unknownmodifier:$pushAll,请问是哪个环节出了问题,是不是push的数据类型不正确导致?还是其他原因,怎么修改?
2 回答
一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
mongodb很早前的版本就合并了$push和$pushAll,然后mongodb3.6取消了$pushAll所以要么mongodb降级到3.4,要么mongoose升级到5.0rc2试试,亲测降级3.4是OK的
添加回答
举报
0/150
提交
取消