Database Schema
admins
{
  "timestamp": "2023-03-08T12:09:19.662015",
  "name": "ahmad",
  "surname": "salman",
  "email": "a.s@ug.bilkent.edu.tr",
  "pendingReviews": [
    {
      "_id": "e5b66416-25a1-41d7-a7f3-e2bb65f0e6ae",
      "timestamp": "2023-03-13T19:00:50.181141",
      "postID": "95c5f3f6-709a-4da8-b8e8-368c9026da47",
      "reason": "Inaccurate",
      "description": "this is inaccurate",
      "userID": "03ca4e23-bea7-45e2-a94a-aee82aab5c09"
    },
    {
      "_id": "45asr2t3-hs82-41d7-a7f3-e2bb65f0e6ae",
      "timestamp": "2023-03-13T19:00:50.181141",
      "postID": "95c5f3f6-709a-4da8-b8e8-368c9026da47",
      "reason": "Inaccurate",
      "description": "this is inaccurate",
      "userID": "03ca4e23-bea7-45e2-a94a-aee82aab5c09"
    },
  ],
  "acceptedReviews": [
    {
      "_id": "22s4d9w2-hs82-41d7-a7f3-e2bb65f0e6ae",
      "timestamp": "2023-03-13T19:00:50.181141",
      "postID": "95c5f3f6-709a-4da8-b8e8-368c9026da47",
      "reason": "Inaccurate",
      "description": "this is inaccurate",
      "userID": "03ca4e23-bea7-45e2-a94a-aee82aab5c09"
    },
  ],
  "rejectedReviews": [
    {
      "_id": "mslw83hs8-hs82-41d7-a7f3-e2bb65f0e6ae",
      "timestamp": "2023-03-13T19:00:50.181141",
      "postID": "95c5f3f6-709a-4da8-b8e8-368c9026da47",
      "reason": "Inaccurate",
      "description": "this is inaccurate",
      "userID": "03ca4e23-bea7-45e2-a94a-aee82aab5c09"
    }
  ],
  "numberOfPendingRequests": 2,
}
reports
{
  "_id": "e5b66416-25a1-41d7-a7f3-e2bb65f0e6ae"
  "user": {
    "email": "a.s2@ug.bilkent.edu.tr"
  },
  "postings": [
    {
      "id": "95c5f3f6-709a-4da8-b8e8-368c9026da47",
      "isDeleted": false,
      "timestamp": "2023-02-13",
      "houseType": "apartment",
      "totalNumOfRoommates": 5,
      "location": {
        "neighborhood": "Oran",
        "district": "Çankaya",
        "city": "Adana"
      },
      "startDate": "2022-11-10",
      "endDate": "2022-11-15",
      "postingType": "House Seeker",
      "startPrice": 4,
      "endPrice": 10
    }
  ]
}
Each document in the reports collection holds only a single element in the postings array
Assuming I am trying to return the document with ID of 'e5b66416-25a1-41d7-a7f3-e2bb65f0e6ae' in pendingReviews array
Desired Result
"_id": "e5b66416-25a1-41d7-a7f3-e2bb65f0e6ae"
"postings": [
    {
      "id": "95c5f3f6-709a-4da8-b8e8-368c9026da47",
      "isDeleted": false,
      "timestamp": "2023-02-13",
      "houseType": "apartment",
      "totalNumOfRoommates": 5,
      "location": {
        "neighborhood": "Oran",
        "district": "Çankaya",
        "city": "Adana"
      },
      "startDate": "2022-11-10",
      "endDate": "2022-11-15",
      "postingType": "House Seeker",
      "startPrice": 4,
      "endPrice": 10
    }
  ]
"pendingReviews": [
    {
      "_id": "e5b66416-25a1-41d7-a7f3-e2bb65f0e6ae",
      "timestamp": "2023-03-13T19:00:50.181141",
      "postID": "95c5f3f6-709a-4da8-b8e8-368c9026da47",
      "reason": "Inaccurate",
      "description": "this is inaccurate",
      "userID": "03ca4e23-bea7-45e2-a94a-aee82aab5c09"
    }
So the '_id' and the 'pendingReviews._id' are the same which what I want to lookup with.
Current Approach
[
  {
    $lookup:
      {
        from: "reports",
        localField: "pendingReviews._id",
        foreignField: "_id",
        as: "result",
      },
  },
]
Current Result
{
  "_id": "f757596f-582d-4527-9ed6-ed37df2f54e4",
  "timestamp": "2023-03-08T12:09:19.662015",
  "name": "ahmad",
  "surname": "salman",
  "email": "a.s@ug.bilkent.edu.tr",
  "pendingReviews": [
    {
      "_id": "e5b66416-25a1-41d7-a7f3-e2bb65f0e6ae",
      "timestamp": "2023-03-13T19:00:50.181141",
      "postID": "95c5f3f6-709a-4da8-b8e8-368c9026da47",
      "reason": "Inaccurate Post Information",
      "description": "this is inaccurate",
      "userID": "03ca4e23-bea7-45e2-a94a-aee82aab5c09"
    }
  ],
  "acceptedReviews": [
    "accepted review 1",
    "accepted review 2"
  ],
  "rejectedReviews": [
    "rejected review 1",
    "rejected review 2"
  ],
  "numberOfPendingRequests": 2,
  "password": "$2b$12$l6iBlLtSgCaMsp5SlRaRjeE7ZFCSPsVVR/VG67NB6/XtAph8NyME.",
  "result": [
    {
      "_id": "e5b66416-25a1-41d7-a7f3-e2bb65f0e6ae",
      "user": {
        "email": "a.s2@ug.bilkent.edu.tr"
      },
      "postings": [
        {
          "id": "95c5f3f6-709a-4da8-b8e8-368c9026da47",
          "isDeleted": false,
          "timestamp": "2023-02-13",
          "houseType": "apartment",
          "totalNumOfRoommates": 5,
          "location": {
            "neighborhood": "Oran",
            "district": "Çankaya",
            "city": "Adana"
          },
          "startDate": "2022-11-10",
          "endDate": "2022-11-15",
          "postingType": "House Seeker",
          "startPrice": 4,
          "endPrice": 10
        }
      ]
    }
  ]
}
{
  "_id": {
    "$oid": "640f3b531d59d62b263b7dd0"
  },
  "timestamp": "2023-03-08T12:09:19.662015",
  "name": "ahmad",
  "surname": "salman",
  "email": "a.s2@ug.bilkent.edu.tr",
  "pendingReviews": [],
  "acceptedReviews": [],
  "rejectedReviews": [],
  "numberOfPendingRequests": 10,
  "password": "$2b$12$l6iBlLtSgCaMsp5SlRaRjeE7ZFCSPsVVR/VG67NB6/XtAph8NyME.",
  "result": []
}
{
  "_id": {
    "$oid": "640f41301d59d62b263b7dd2"
  },
  "timestamp": "2023-03-08T12:09:19.662015",
  "name": "ahmad",
  "surname": "salman",
  "email": "a.s3@ug.bilkent.edu.tr",
  "pendingReviews": [],
  "acceptedReviews": [],
  "rejectedReviews": [],
  "numberOfPendingRequests": 5,
  "password": "$2b$12$l6iBlLtSgCaMsp5SlRaRjeE7ZFCSPsVVR/VG67NB6/XtAph8NyME.",
  "result": []
}
Some users have only placeholder texts, but ultimately what I am seeking to achieve here is that I want the array element in the admins collection, in the pendingReviews array specified by the id 'e5b66416-25a1-41d7-a7f3-e2bb65f0e6ae' to be joined with the document with the same '_id' in reports collection without joining on everything for the entire DB.
I have checked this question earlier but it did not really help me: $lookup on ObjectId's in an array
Thank you in advance
 
    