填充联接集合中的查询字段

时间:2018-11-22 11:23:46

标签: node.js mongodb mongoose

我有两个收藏集。

  1. 博客帖子
  2. 状态

我想进行查询,以检索状态名称为“已发布”的所有博客文章。

我一直在对此进行研究,但是我无法做我想做的事情。知道这种情况下的最佳做法也是很高兴的。

我正在考虑的选项:

  • 使用填充特征
  • 查询运行后删除结果

这是我的模特:

博客帖子

var BlogPostSchema = new Schema({
    title: {
        type: String,
        required: true
    },
    slug: {
        type: String,
        required: true
    },
    author: {
        type: Schema.ObjectId,
        ref: 'User',
        required: true
    },
    image: {
        type: Schema.ObjectId,
        ref: 'Image',
        required: 'true'
    },
    status: {
        type: Schema.ObjectId,
        ref: 'Status',
        required: true,
    },
    category: {
        type: Schema.ObjectId,
        ref: 'Category',
        required: true
    },
    content_brief: {
        type: String,
        required: true
    },
    content_extended: {
        type: String,
        required: true
    },
    updated_date: {
        type: Date,
        required: true
    },
    published_date: {
        type: Date
    }
});

状态

var StatusSchema = new Schema({
    name: {
        type: String,
        required: true
    }
});

这是我的控制人:

BlogPost.find()
    .sort([['published_date', 'descending']])
    .populate(['author', 'status', 'image', 'category'])
    .exec(function (err, blog_posts) {
        if (err) { return next(err); }
        res.render('main/blog_list', { blog_posts: blog_posts });
    });

0 个答案:

没有答案