猿问

nodejs向mongodb中插入数据出错Unknown modifier: $pushAll

nodejs向mongodb中插入数据报错Unknownmodifier:$pushAll
schemas
varCommentSchema=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()
}
}
})
controllers
if(_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);//false
comment.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的数据类型不正确导致?还是其他原因,怎么修改?
Cats萌萌
浏览 1370回答 2
2回答

一只名叫tom的猫

mongodb很早前的版本就合并了$push和$pushAll,然后mongodb3.6取消了$pushAll所以要么mongodb降级到3.4,要么mongoose升级到5.0rc2试试,亲测降级3.4是OK的
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答