U wilt een $lookup
maar je wilt is als SQL-achtige join, alle velden in het root-document, zodat een ontrollen en vervangen root wordt toegevoegd om samen te voegen in 1 document.
Zoekopdracht
db.user_relations.aggregate([
{
"$match": {
"$expr": {
"$eq": [
"$userId",
"userId1"
]
}
}
},
{
"$unwind": {
"path": "$friendsArray"
}
},
{
"$sort": {
"friendsArray.lastTimeStamp": 1
}
},
{
"$limit": 10
},
{
"$replaceRoot": {
"newRoot": "$friendsArray"
}
},
{
"$lookup": {
"from": "users",
"localField": "userId",
"foreignField": "_id",
"as": "joined__"
}
},
{
"$unwind": {
"path": "$joined__"
}
},
{
"$replaceRoot": {
"newRoot": {
"$mergeObjects": [
"$joined__",
"$$ROOT"
]
}
}
},
{
"$project": {
"joined__": 0
}
}
])