我的快递猫鼬没有给出其他集合的结果

时间:2019-01-30 15:49:51

标签: node.js express mongoose

我在猫鼬中创建了两个集合,如下所示 1.分类架构         const categorySchema = new Schema({

                    name:{
                        type:String,
                        required:true
                    },
                    cat_type:{
                        type:String,
                        enum:['images','quotes','videos']
                    },
                    image:{
                        type:String
                    },
                    videoId:{
                        type:Number
                    }
    })


      const Category = mongoose.model('categories',categorySchema); 
      module.exports = Category;

2。视频架构

        const videoSchema = new Schema({
                    videoId:{
                        type:String
                    },
                    title:{
                        type:String,
                        required:true
                    },
                    cat_id:{
                            type:Schema.Types.ObjectId,
                            ref:'categories'
                    },
                    description:{
                        type:String
                    },
                    url:{
                        type:String
                    },
                    publishedAt:{
                        type:String
                    }

           })

        const Video = mongoose.model('videos',videoSchema);
        module.exports = Video   

我正在使用下面的查询来获取视频和视频的类别详细信息

          Video.find({}).
          populate('categories')
          .exec(function(err, data){
          console.log(data);
          })

但是我仅获得视频表的结果,而不是类别表,这是我做错了吗?

1 个答案:

答案 0 :(得分:0)

您要填充字段 cat_id ,而不是类别。您输入的字段应该是引用其他模式的字段,在这种情况下,该字段将为cat_id