Mongoose:填充嵌套属性并同时查询

时间:2016-06-07 23:29:00

标签: javascript mongodb mongoose

网站架构:

let websiteSchema = new Schema({
  url: { type: string }
});

发布子模式:

let postSchema = new Schema({
  website: { type: Schema.Types.ObjectId, ref: 'Website' },
  message: { type: String }
});

用户架构:

let userSchema = new Schema({
  posts: [postSchema]
});

~~~~~~~~~~~~~~~~~~~~~~~

我们想说我想填充所有用户123123的网站。这很有效。

User
    .findById(ObjectId(123123))
    .populate({ path: 'posts.website', model: 'Website' });

但是,如何仅使用网址' google.com'?这会正确填充website数组中包含网址' google.com'的帖子的posts属性,但它也会返回所有未填充的帖子:

User
    .findById(ObjectId(123123))
    .populate({
        path: 'posts.website',
        model: 'Website',
        match: { 'url': 'google.com' }
    });

有没有办法过滤掉无人居住(空)网站的帖子?

0 个答案:

没有答案