【发布时间】:2021-10-22 02:51:13
【问题描述】:
我有College 模型,它有ref :"University"。每个学院在创建时都有 1 所大学。
所以我正在尝试获取大学的uuid 与请求查询匹配的所有大学。
所以我尝试了以下方法:
const myAggregate = College.aggregate([
{
$match: {
language: req.query.language,
display_language: req.query.display_language
}
},
{
$lookup: {
from: 'unis', // UNIVERSITY COLLECTION
pipeline: [
{
$match: {
$expr: {
$eq: ["$uuid", req.query.id]
}
}
}
],
as: 'univ',
},
},
{
$sort: { createdAt: -1 },
},
])
所以上面的代码在提供查询并且它不等于大学 UUID 时,它会获取所有大学,但 univ 数组中每个大学都是空的。
是否可以仅在 uuid 等于查询 id 时显示大学而不显示 univ 的空数组?
【问题讨论】:
标签: mongodb mongoose mongoose-schema mongoose-populate