对于值#34,""转换为ObjectId失败在路径" _id"对于模型"评论

时间:2018-04-07 12:56:10

标签: mongodb mongoose mongoose-populate

我正在尝试从多个集合中填充数据。

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()}
});

还有一件我想知道的事情,如果该集合中不存在数据,我们如何处理填充?

0 个答案:

没有答案