我目前正在運行一個如下所示的查詢:
courses = await Enrollment.aggregate([
{
$match: {
userId: userId
}
},
{
$lookup: {
from: 'courses',
localField: 'course',
foreignField: '_id',
as: 'course'
}
},
{
$unwind: '$course'
},
{
$project: {
course: {
courseCode: true,
name: true,
officialCode: true,
}
}
}
]);
這會產生如下所示的結果
[{
"_id": "61e0652ba5c2fe5bdcdbdc23",
"course": {
"courseCode": "code2",
"name": "Terst class 2",
"officialCode": "test 202"
}
}]
我想知道是否有辦法讓我將courseCode,name并officialCode帶到檔案的“最高級別”?
先感謝您。
uj5u.com熱心網友回復:
您可以使用$replaceRoot聚合管道來做到這一點。將此添加為最后一步:
{
"$replaceRoot": {
"newRoot": "$course"
}
}
作業示例
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/410275.html
標籤:
下一篇:需要基于檔案嵌套陣列聚合回傳結果
