What is the most efficient way to retrieve associated subitems for items in the same MongoDB collection?

I have a MongoDB collection that stores both item and subitem documents. Each item document can have multiple subitems, and they are linked by a “parent_id” field within the same collection. I need to efficiently retrieve an item along with its associated subitems. The number of subitems per item can vary, but it is limited to a maximum of 50 initially, with the possibility of increasing in the future.

Considering that the item and subitem documents are in the same collection, I am exploring two options for efficient retrieval and would like guidance on the best approach:

Using the $lookup aggregation pipeline stage to perform a joint operation between the item and subitem documents within the same collection. This would involve creating a pipeline that matches the item document, performs a lookup to fetch the associated subitems, and returns the result as a single query.

Fetching the item document first and then querying for the associated subitems by matching the “parent_id” field. I would iterate over the list of item documents and append the corresponding subitems.

Considering the potential variability in the number of subitems per item and the requirement for optimal performance, which approach would be more efficient? Are there any performance considerations or best practices I should be aware of when dealing with this scenario?

If the $lookup approach is recommended, I would appreciate guidance on how to structure the pipeline for efficiently retrieving the associated subitems for each item.

This is my sample $lookup query,

{
    "$lookup": {
      "from": "<collection_id>",
      "localField": "_item_id",
      "foreignField": "_parent_id",
      "as": "Subitems"
    }
  }

Thanks in advance.