Sie müssen zuerst $unwind
der employee
dann können Sie $concat
verwenden
um zwei Felder zu kombinieren.
db.loggableUser.aggregate([
{ '$lookup': {
'from': 'employees',
'localField': 'employee',
'foreignField' : '_id',
'as': 'employee'
}},
{ '$unwind': '$employee' },
{ '$addFields': {
'employee.fullName' : { '$concat': ['$employee.name' + ' ' + '$employee.surname'] }
}}
])
Was mit mongodb 3.6 viel einfacher ist und oben $lookup
Syntax.
db.loggableUser.aggregate([
{ '$lookup': {
'from': 'employees',
'let': { 'employee': '$employee' },
'pipeline': [
{ '$match': { '$expr': { '$eq': ['$_id', '$$employee'] }}},
{ '$addFields': { 'fullName' : { '$concat': ['$name', ' ', '$surname'] }}}
]
'as': 'employee'
}}
])