我有一个带有嵌入式评论的简单博客架构,它以猫鼬为模型
var BlogSchema = mongoose.Schema({
...............,
comments:[Comment],
visits:int
});
var Comment = mongoose.Schema({
name : { type: String }
, img : { type:String }
, date : { type: Date, default: Date.now }
, text : String
});
var BlogModel = mongoose.model('Blog',BlogSchema);
function addComment(bid,name,img,text,callback){
var options = { new: false };
BlogModel.findOneAndUpdate({'_id':bid},{'$push':{'comments':{'name':name,'img':img,'text':text}},'$inc':{'visits':1}},options,function(err,ref){
if(err) {
console.log('add addComment'.red,err);
callback(err, null);
}else{
console.log('add addComment '.green+ref);
callback(null,ref);
}
})
}
当我在博客上发表评论时,博客中的评论数组确实附加了带有名称、img 和文本属性的新评论。但问题是由于某种原因缺少日期和_id。有了每条评论上的_id,就可以重新编辑或删除这条评论,所以_id是很有必要的。
我不知道为什么日期消失了,因为在架构设计中,日期默认为新日期,并且不应该错过 _id 我不会像这样强制忽略 _id 条目 - mongoose.Schema ({ _id:false});
现在我的结果是有线的,可以看看有什么问题吗?