var LinkedinUpdateSchema = new mongoose.Schema({
likes:{values:[PersonSchema],
_total: Number},
numLikes: Number,
timestamp: Number,
updateComments:{
values:[CommentSchema],
_total: Number
},
updateContent:{
companyStatusUpdate:{
share:{
comment: String,
timestamp: Number
}
}
},
});
router.post('/:type',function(req,res,next){
if(cutFilename.includes(req.params.type)){
var object = require('./models/'+req.params.type);
object.UpdateOne(req.body,req.body,{upsert:true,strict:false},function(err,object){
if(err) console.log(err)
res.json(object);
})
}else{
res.json('error: type: '+ req.params.type + 'not found !');
}
});
所以我试图实现一个不允许重复的post函数,所以我在updateOne中找到了{upsert:true}。在我打电话过滤掉一些数据之前,这一切都很顺利。所以我得到了一批数据,我只想得到符合模型的数据。
但是因为不是所有的东西都在模型中定义,所以我得到一个严格的模式错误。当我禁用strictMode时,我会得到模型中甚至没有定义的所有数据。
这件事的证据
{StrictModeError:路径“updateType”不在架构中,strict mode为
true
,而upsert是
.
希望有人能帮我这个,任何信息是必要的:命名它,我将编辑它。