2
私は_idから$ルックアップを行っています。結果は常に1つの文書になります。したがって、結果を1つの項目を持つ配列ではなくオブジェクトにしたい。
let query = mongoose.model('Discipline').aggregate([
{
$match: {
project: mongoose.Types.ObjectId(req.params.projectId)
},
},
{
$lookup: {
from: "typecategories",
localField: "typeCategory",
foreignField: "_id",
as: "typeCategory"
}
},
{
$project: {
title: 1, typeCategory: "$typeCategory[0]"
}
}
]);
この表記:"$typeCategory[0]"
が機能していません。これを行うためのスマートな方法はありますか?
使用 'typeCategory:{$ arrayElemAt:[ "$ typeCategory"、0]}'今の
$arrayElemAt
の構文は次のよう{ $arrayElemAt: [ <array>, <idxexOfArray> ] }
あります。この問題に具体的に対処するためのチケットがあります。https://jira.mongodb.org/browse/SERVER-27589 – Veeram