Having an objectId reference can be useful. However, we often want to return a whole model as if it were an embedded sub-document, but have it contain the updated data from the referenced document. This operation is possible using Mongoose's populate method. With populate, we can retrieve the additional document details required, similar to a JOIN operation in a relational database, and merge the result into the referencing document.
Creating relational documents in MongoDB with population
Getting ready
Let's update our /middleware/rest.js middleware to support Mongoose population for retrieving documents that contain embedded objectId references. We will be able to retrieve our full post details in our /api/users...