网站架构:
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' }
});
有没有办法过滤掉无人居住(空)网站的帖子?