我正在尝试从多个集合中填充数据。
posts.find({})
.populate({ path: 'comments',
populate: {path:'users',model:'User'}
}).sort('_id').limit(10)
.exec(function (err, Post) {
if (err) {
console.log(err)
}
else{
res.write(JSON.stringify(Post),null,4);
res.end();
}
});
};
但是我收到了这个错误。
施放到ObjectId的值失败""在路径" _id"对于模型"评论
这是我的帖子架构:
var PostSchema = new mongoose.Schema({
user_id: [{ type: Schema.Types.ObjectId, ref: 'users' }],
categories_id:[{ type: Schema.Types.ObjectId, ref: 'categories' }],
text: String,
description:String,
imgpath: String,
audio_path: String,
video_path: String,
question_text: String,
created_at: {type:Number, default: new Date().getTime()},
comments:[{ type: Schema.Types.ObjectId, ref: 'comments' }],
updated_at:{type:Number, default: new Date().getTime()}
})
评论模式
var CommentsSchema = new mongoose.Schema({
post_id: String,
users: [{ type: Schema.Types.ObjectId, ref: 'users' }],
comment_text: String,
image_path: String,
video_path: String,
updated_at: {type:Number, default: new Date().getTime()}
});
还有一件我想知道的事情,如果该集合中不存在数据,我们如何处理填充?