Example payload if anyone is interested:
[
{
"$lookup": {
"from": "companys",
"foreignField": "_id",
"localField": "jobs.company",
"as": "_jobs_company",
"pipeline": [
{
"$project": {
"name": 1
}
}
]
}
},
{
"$set": {
"jobs": {
"$filter": {
"input": {
"$map": {
"input": "$jobs",
"as": "jobs__elem",
"in": {
"$mergeObjects": [
"$$jobs__elem",
{
"company": {
"$cond": [
{
"$ne": [
{
"$indexOfArray": [
"$_jobs_company._id",
"$$jobs__elem.company"
]
},
-1
]
},
{
"$arrayElemAt": [
"$_jobs_company",
{
"$indexOfArray": [
"$_jobs_company._id",
"$$jobs__elem.company"
]
}
]
},
null
]
}
}
]
}
}
},
"as": "elem",
"cond": {
"$ne": [
"$$elem",
null
]
}
}
}
}
},
{
"$unset": [
"_jobs_company"
]
}
]