【发布时间】:2020-05-11 17:35:03
【问题描述】:
我有两个模型
Opinion {
_id: string;
creator: string;
teacher: ObjectId;
text: string;
date: Date;
}
Teacher {
_id: string;
name: string;
isVerified: boolean;
}
我需要获得 3 个最新意见 WHERE { teacher.isVerified: true }
我试过了
const newOpinions = await Opinion.find(
null,
"creator teacher text",
{
sort: {
date: -1,
},
}).populate(
{
path: 'teacher',
model: 'Teacher',
select: 'name',
match: {
isVerified: true,
},
}
).limit(3);
但是(经过简短分析)它按设计工作 - 无论教师是否经过验证,我都会收到 3 个最新意见(在教师领域,如果未经验证,我会收到 null)
任何人都可以尝试为我指出正确的方向吗?我想可能是Model.aggregate()。
【问题讨论】:
标签: javascript mongodb express mongoose non-relational-database