[英]MongoDB Aggregate multiple local fields on $lookup
我正在使用聚合來為每個父文檔獲取 4 個子文檔。 不過,子文檔都來自同一個集合。
[
{
'$lookup': {
'from': 'Roles',
'localField': 'dentistId',
'foreignField': '_id',
'as': 'DENTIST'
}
}, {
'$lookup': {
'from': 'Roles',
'localField': 'doctorId',
'foreignField': '_id',
'as': 'DOCTOR'
}
}, {
'$lookup': {
'from': 'roles',
'localField': 'lawyerId',
'foreignField': '_id',
'as': 'LAWYER'
}
}, {
'$lookup': {
'from': 'roles',
'localField': 'ceoId',
'foreignField': '_id',
'as': 'CEO'
}
}
]
我正在使用 MongoDB > 4 的版本。我希望只有 1 個$lookup
然后執行類似的操作
localField: { $in:[dentistId, doctorId, lawyerId, ceoId }
有沒有辦法鞏固這一點?
謝謝!
childDocs
,並在其中推送所有 id,localField
中傳遞該字段[
{
$addFields: {
childDocs: [
"$dentistId",
"$doctorId",
"$lawyerId",
"$ceoId"
]
}
},
{
'$lookup': {
'from': 'roles',
'localField': 'childDocs',
'foreignField': '_id',
'as': 'childDocs'
}
}
]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.